所以我试图让该程序简单地退出,但我似乎可以使其正常工作。
我尝试了很多事情。我发现也很奇怪的一件事是,如果我在while循环中使x = 0,它将立即退出程序,因此我必须使其变为x!= 0。我不明白那是什么,如果您也能回答的话那将是很好的。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char a[256];
int x = 0;
while (x != 0) {
int y = strcmp(fgets(a, 256, stdin), "exit");
if (y==0) {
exit(0);
}
else {
printf("Line read:%s\n",a);
}
}
return 0;
}
所以它现在应该输出这样的内容(我也在Linux终端中运行它):
//input://
hello
//output://
Line read: hello
//(program stays open for more inputs)//
//input//
exit
//(the program now closes in the terminal and you return to directory)//
答案 0 :(得分:0)
键盘输入的末尾包含一个新行。调用"exit"
时,将"exit\n"
更改为strcmp
。