gpt4 book ai didi

c - 当循环跳过用户输入时,我做错了什么?

转载 作者:行者123 更新时间:2023-11-30 19:41:05 24 4
gpt4 key购买 nike

所以我正在尝试制作一个简单的计算器,允许用户在不退出的情况下再次使用该程序。现在循环本身工作正常,但是当我使用 printf() 时,它会像这样再次重复并跳过它:

Enter an operator: +

Do you want to continue?(Y/N): y

Enter an operator:
Do you want to continue?(Y/N):

代码如下:

int main()
{
char o, ans = 'Y';
int num1, num2;

while(ans == 'Y' || ans == 'y')
{
printf("\nEnter an operator: ");
scanf("%c", &o);

printf("\nDo you want to continue?(Y/N): ");
scanf(" %c", &ans);
}

return 0;
}

最佳答案

我不确定问题是什么,但您可能根本没有在秒 scanf 上读取字符。您应该检查 scanf 的返回值,因为它告诉您已读取了多少个参数。可以使用调试器进行调试,或者在某些点打印出变量。这是最好的学习方式;)

关于c - 当循环跳过用户输入时,我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33947688/

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