我现在有一个非常令人困惑的问题。我为自己编写了一个测试程序,但有时在我输入 Crtl+C(我认为它是 EOF)后,程序提前关闭,而没有运行我希望它取消的 While 循环下方的更多命令。
#include <stdio.h>
#include <string.h>
int main()
{
char message[140];
char* p = message;
int count;
int i = 0;
int charGT;
while((charGT=getchar()) != EOF)
{
message[i] = charGT;
i++;
printf("%d" , i);
}
printf("next");
count = strlen(p);
printf("%d", count);
printf("after");
return (0);
}
输入“asd\n^C”会导致我的程序提前结束。不会打印“下一个”或“之后”我的理论是,不知何故, \n 导致程序跳出循环一会儿,然后 Crtl+C 退出程序,但我不知道那将如何工作。