gpt4 book ai didi

c - for循环在C中运行两次

转载 作者:太空狗 更新时间:2023-10-29 15:54:57 26 4
gpt4 key购买 nike

我是 C 编程的新手。而我在做一个练习,题目是这样的:使用 ?: 运算符和 for 语句编写一个程序,不断获取用户输入的字符,直到字符 q 被计算。

这是我写的程序:

#include <stdio.h>

main()
{
int x, i=0;
for (x = 0; x == 'q'? 0 : 1; printf("Loop %d is finished\n",i))
{
printf("Enter q to exit!!!\n");
printf("Please enter a character:\n");
x=getc(stdin);
putc(x,stdout);
++i;
}
printf("\nThe for loop is ended. Bye!");

return 0;
}

问题是:每次输入“非q”字符时,循环似乎运行两次。我不知道我的程序有什么问题。请帮忙!

最佳答案

当您输入一个非q 字母时,您还按下了Enter,这是在第二个循环中读取的。

要使循环仅针对每个输入运行一次,请使用 fgets() 一次读取整行输入,并检查输入字符串是否符合您的预期。

关于c - for循环在C中运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23179069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com