gpt4 book ai didi

c - c中的while循环不重复

转载 作者:行者123 更新时间:2023-11-30 20:44:06 24 4
gpt4 key购买 nike

我必须创建一个程序来向用户请求整数重复通过键盘,直到用户输入 0。我已经进入 while 循环,但它不重复,我不知道为什么。任何帮助将不胜感激。谢谢

编辑:我已经修复了循环,使其不重复,但现在它无限重复,我不知道为什么。

#include <stdio.h>
#include <stdlib.h>
int main()
{
char first[30], last[30];
int n, even, odd, etotal = 0, ototal = 0;

printf("What is your first name?\n");
scanf("%s", &first);
printf("What is your last name?\n");
scanf("%s", &last);
// asks for name
printf("Enter a number\n");
printf("To quit the program enter 0\n");
scanf("%d", &n);
while (n!=0){

if(n%2==0){
printf("%d is even.\n",n);
etotal++; }
else{
printf("%d is odd.\n",n);
ototal++; }
}
return 0;
}

最佳答案

循环不会重复,因为循环中有一个 return 语句,它将立即离开 main 函数。只需删除它即可。

<小时/>

您还有另一个更糟糕的问题:未定义的行为。局部非静态变量(例如代码中的 n)不会被初始化,而是具有不确定值。尝试使用此类未初始化的变量会导致上述未定义的行为。

您需要在条件中使用变量之前将其显式初始化为某个值,例如重新排序代码,以便您在循环之前读取输入,然后也在循环结束时读取输入。

关于c - c中的while循环不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35553048/

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