gpt4 book ai didi

c - 一个简单的 while 循环来检查陷入无限循环的输入

转载 作者:行者123 更新时间:2023-11-30 16:34:42 25 4
gpt4 key购买 nike

我很确定以前有人问过这个问题,但我找不到任何答案,所以我就开始吧。这是一行简单的代码,我无法让它退出 while 循环。如果我将 || 更改为 &&,无论我按什么键,循环都会退出。谢谢您的解答。

#include <stdio.h>   
int main()
{
int answer;

printf("Are you sure you want to exit the program? Type in 1 for yes and 2 for no.\n");
scanf("%d", answer);

//This is to check that the user inputs the right number if not error message is displayed
while(answer <1 || answer > 2)
{
printf("Please type in 1 to exit the program and yes and 0 to keep playing. \n");
scanf("%d", answer);
flushall();
}
return 0;
}

最佳答案

如果你想在1处退出,那么你只需要检查输入是否等于它,这就是为什么我想在它不等于1时扫描更多答案。如果是,那么它将省略 while循环直接返回0。

我还更改了 scanf 的使用方式 - 当您声明变量时(在您的情况下答案),系统会为其提供内存中的地址。然后使用 scanf 获取用户的输入,获取输入后,将其写入该变量的地址,以便稍后引用它时,系统会转到该地址并检索值。

int main()
{
int answer;

printf("Are you sure you want to exit the program? Type in 1 for yes and 2 for no.\n");
scanf("%d", &answer);

//This is to check that the user inputs the right number if not error message is displayed
while(answer != 1)
{
printf("Please type in 1 to exit the program and yes and 0 to keep playing. \n");
scanf("%d", &answer);
}
return 0;
}

关于c - 一个简单的 while 循环来检查陷入无限循环的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49225233/

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