玩的是信仰 2021-11-08 22:19 采纳率: 100%
浏览 35
已结题

while问题,while((ch=getchar())>='0'&&ch<='9'),结果少首位,

img


do while的可以输出123,为啥这个while它输出的是23。
( ̄ε(# ̄)

  • 写回答

1条回答 默认 最新

  • 我叫RT 2021-11-08 22:40
    关注

    你这里ch被覆盖了。

    img

    可以参考如下:

    
    int main()
    {
        int n = 0;
        char ch;
        while ((ch = getchar()) != '\n')
        {
            n = n * 10 + (ch - '0');
        }
        printf("%d\n", n);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月8日
  • 已采纳回答 11月8日
  • 创建了问题 11月8日