0

我刚开始学习 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 );
}
}
4

4 回答 4

6
for( x = 0; x <= 1; x += .05 )

似乎您没有将更改后的 x 值写入 x .....如果您知道我的意思:D
x++x+=1
x+.05不修改 x 的值相同,因此 x 将始终为 0 并导致无限循环...

于 2013-01-22T02:49:39.883 回答
2

我想这就是你要找的:

for( x = 0; x <= 1; x+=0.05 )
{
   printf("%f\n", x );
}

您需要更改为+=符号并将d更改为f

  • d用于十进制整数
  • f用于浮点数
于 2013-01-22T02:50:54.250 回答
0

将 for 循环中的行更改为
for( x = 0; x <= 1; x += .05 )

请注意,
x += .05
这相当于键入
x = x + .05
您真正想要的内容,因为目标是更新 x 的值。

于 2013-01-22T03:00:06.153 回答
0

您需要加法和赋值复合运算符,+=而不仅仅是+.

for( x = 0; x <= 1; x+=.05 )

目前你的表达式的结果是x + 5,并且它的结果没有被使用,导致你的循环的条件永远不会是假的。

于 2013-01-22T02:50:36.920 回答