c - 为什么 scanf 卡在 while 循环中?

标签 c

我在 while 循环中使用了 scanf()。

while(1)
{
    int input = 0;
    scanf("%d\n", &input);
    printf("%d\n", input);
}

当我运行这个程序并输入一个数字时,除非我再次输入另一个数字,否则 printf() 不会显示该数字。为什么?

最佳答案

scanf 格式中的 \n 被解释为“任意数量的空白”。它会不断读取空格(空格、制表符或回车符),直到遇到不是空格的内容。

关于c - 为什么 scanf 卡在 while 循环中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17518290/

相关文章:

python - 如何在C中打印多行

c - 防止删除一组文件的例程具有破坏性

c - 阿杜诺 C : undefined reference to `readArms()'

c - 模拟 UNIX 类型的 shell

c++ - C/C++ 内存问题?

C++ 对非 ASCII 数据文件的支持

c - 无法使用 C 中的指针创建文件?

c - 释放树中动态分配的内存

c++ - 在前往 C++ 之前,我应该首先学习什么?

c - C 程序中不需要的输出