【发布时间】:2014-04-20 06:09:56
【问题描述】:
我是 C 编程新手。我在做一个练习,问题是这样的:使用 ?: 运算符和 for 语句编写一个程序,该程序不断获取用户输入的字符,直到字符 q 被计算在内。
这是我写的程序:
#include <stdio.h>
main()
{
int x, i=0;
for (x = 0; x == 'q'? 0 : 1; printf("Loop %d is finished\n",i))
{
printf("Enter q to exit!!!\n");
printf("Please enter a character:\n");
x=getc(stdin);
putc(x,stdout);
++i;
}
printf("\nThe for loop is ended. Bye!");
return 0;
}
问题是:每次我输入一个“非q”字符时,循环似乎都会运行两次。 我不知道我的程序有什么问题。 请帮忙!
【问题讨论】:
-
似乎您需要清除输入缓冲区,因为我认为您正在阅读换行符。
标签: c