繁体   English   中英

在匹配的用户输入上停止C程序

[英]Stop C program on matching user input

当用户输入单词“ exit”时,我试图打破循环。 如果用户输入了单词exit以外的任何内容,我希望程序跳过一行并写一个“ $”。 它可以工作,但是表现得有些滑稽。 这是代码和输出:

int main()
{
    char input[5];
    int x = 5;
    while(x){
        printf("\n$");
        fgets(input, sizeof input, stdin);
        x = strcmp(input, "exit");
    }
}

继承人的输出(在我的输入中:“ a”返回“ asdfasdfasdf”返回“ exit”返回):

$a

$asdfasdfasdf

$
$
$
$exit

Process returned 0 (0X0) execution time : 110.855s
Press ENTER to continue.

所以我的问题是:为什么会有这么多额外的“ $”? 每次退货我如何只获得一个“ $”?

因为每个循环只读取4个字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM