当用户输入单词“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”返回“退出”返回):
$a
$asdfasdfasdf
$
$
$
$exit
Process returned 0 (0X0) execution time : 110.855s
Press ENTER to continue.
所以我的问题是:为什么会有这么多额外的“$”?我如何只返回一个“$”?
答案 0 :(得分:1)
因为每个循环只能读4个字符。