【发布时间】:2021-08-29 14:17:03
【问题描述】:
我有这个小程序:
#include <stdio.h>
int main(){
int c;
while(c != EOF){
printf("Enter character\n");
c = getchar();
printf("Character: %c\n", c);
}
printf("FIN\n");
return 0;
}
终端的输出看起来很奇怪,因为 while 循环在输入字符后执行了两次:
Enter character
a
Character: a //This should be the last output after a char was entered, but the loop gets executed a second time without waiting for a keyboard-input:
Enter character
Character:
Enter character
在终端中,我正在编译和运行这样的代码:
gcc main.c
./a.out
我做错了什么?
感谢您的回答,它是通过 enter ... 输入的 lf。这很明显:D
【问题讨论】:
标签: c while-loop char scanf getchar