我刚开始学习 C,所以答案可能非常明显,但是当我运行这段代码时,数字 0 只是在无限循环中不断重复。我正在尝试以 0.05 的增量将 x 从 0 打印到 1。
#include <stdio.h>
int main()
{
double x;
for( x = 0; x <= 1; x+.05 )
{
printf("%d\n", x );
}
}
for( x = 0; x <= 1; x += .05 )
似乎您没有将更改后的 x 值写入 x .....如果您知道我的意思:D
x++
与x+=1
x+.05
不修改 x 的值相同,因此 x 将始终为 0 并导致无限循环...
我想这就是你要找的:
for( x = 0; x <= 1; x+=0.05 )
{
printf("%f\n", x );
}
您需要更改为+=符号并将d更改为f。
将 for 循环中的行更改为
for( x = 0; x <= 1; x += .05 )
请注意,
x += .05
这相当于键入
x = x + .05
您真正想要的内容,因为目标是更新 x 的值。
您需要加法和赋值复合运算符,+=
而不仅仅是+
.
for( x = 0; x <= 1; x+=.05 )
目前你的表达式的结果是x + 5
,并且它的结果没有被使用,导致你的循环的条件永远不会是假的。