这是我编写的代码。

#include<stdio.h>
#include<string.h>

int main()
{
char wd[100];

do
{
printf(">");
fgets(wd,100,stdin);
}while(strcmp(wd,"exit")!=0);

}


当我运行此命令时,它会反复读取我的单词,即使我“退出”它也不会终止。请帮忙。谢谢。

最佳答案

fgets将存储换行符'\n'(如果存在),因此在比较之前将其删除。

#include<stdio.h>
#include<string.h>

void chomp(char *str)
{
    char *lf = strchr(str, '\n');
    if (lf != NULL) *lf = '\0';
}

int main(void)
{
    char wd[100];

    do
    {
        printf(">");
        fgets(wd,100,stdin);
        chomp(wd);
    }while(strcmp(wd,"exit")!=0);

    return 0;
}

关于c - 如何用C编写一个程序,该程序可以读取用户的单词并在用户输入单词“exit”时终止该程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33458888/

10-10 22:15