我该如何正确退出程序?

时间:2019-10-23 00:19:24

标签: c

所以我试图让该程序简单地退出,但我似乎可以使其正常工作。

我尝试了很多事情。我发现也很奇怪的一件事是,如果我在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)//

1 个答案:

答案 0 :(得分:0)

键盘输入的末尾包含一个新行。调用"exit"时,将"exit\n"更改为strcmp