我是C编程新手。我正在做一个练习,问题如下所示:使用?:运算符和for语句编写一个程序,用于保存用户输入的字符,直到字符q被计入。for循环在C中运行两次
这里是我写的程序:
#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”字的时候,循环似乎运行两次。 我不知道我的程序有什么问题。 请帮忙!
好像你需要清除输入缓冲区,因为你正在阅读换行符,我想。 – zeitue