我正在编写一个C程序来重复一系列问题指定的时间。我要求用户输入他们想要的尝试次数,然后我根据他们的数量运行以下循环,但问题是循环不断重复。它不会停止在指定的尝试次数。这是代码:
#include <stdio.h>
int main(void){
int num1,num2,high,low,average,subtotal,total_aver;
printf("Enter number of tries you want:");
scanf("%d", &num1);
while (num1 < num1 + 1) {
printf("Try number: ");
scanf("%d", &num2);
printf("Enter high ");
scanf("%d", &high);
printf("Enter low ");
scanf("%d", &low);
subtotal = high + low;
total_aver = subtotal / 2;
printf("Average temperature is: %d", total_aver);
}
}
如果用户输入3次尝试次数,那么程序应该在循环内部询问这些问题三次,但它会一直重复而不会结束。
答案 0 :(得分:5)
int i=0;
while(i<num1){
// your code
i++;
}
这是无限循环。它将继续并继续下去。
如果要迭代次数,请像这样写循环 -
while(num1>0){
// your code
num1--;
}
或者没有任何额外的变量 -
.htaccess
答案 1 :(得分:2)
这是因为while
中的条件错误。
事实上,将num1
分配给任何值,当num1
等于num1+1
时,它将退出。这是不可能的,不是吗?您必须使用另一个变量来计算重复循环的次数。
修复方式:
int count=0;
while(count<num+1){
//your code
count=count+1;
}