Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
4年前关闭。
这是我的代码。
它陷入了无限循环。这是什么问题
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
4年前关闭。
这是我的代码。
#include<stdio.h>
main()
{
float H,U,D,F;
int x=0,i=0;
scanf("%f %f %f %f",&H,&U,&D,&F);
while(H>x){
x=x+U-D;
U=U-(F/100*U);
i++;
printf("%d\t%d\t%2lf\t%2lf\t%2lf\n",i,x,U,D,F);
}
printf("%d",i);
}
它陷入了无限循环。这是什么问题
最佳答案
仅在某些情况下,这将属于无限情况。
因为四舍五入,您应该将x设为float,这样您将获得适当的答案。
在您的情况下,首先将计算U-D,让我们看一下
U-D = 0.65235
然后..
它将转换为0并添加到x
所以X会保持不变。.因此您的循环将进入无限状态。
我在下面发布了一张照片,可以帮助您了解原因。
关于c - C语言中的无限循环,代码块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35001011/