0

私は C を学び始めたばかりなので、答えはおそらく非常に明白ですが、このコードを実行すると、数字の 0 が無限ループで繰り返されます。x を 0 から 1 まで 0.05 刻みで出力しようとしています。

#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++のと同じなので、x は常に 0 になり、無限ループが発生します...x+=1
x+.05

于 2013-01-22T02:49:39.883 に答える
2

それがあなたが探しているものだと思います:

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

+=記号に変更し、dfに変更します。

  • dは 10 進整数用です
  • fは浮動小数点数用です
于 2013-01-22T02:50:54.250 に答える
0

+=だけでなく、加算と代入の複合演算子が必要です+

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

現在、式の結果はx + 5であり、その結果は使用されていないため、ループの条件が false になることはありません。

于 2013-01-22T02:50:36.920 に答える
0

forループの行を次のように変更します
for( x = 0; x <= 1; x += .05 )

目標は x の値を更新することであるため、 Is は本当に必要な
x += .05
入力と同等であることに注意してください。
x = x + .05

于 2013-01-22T03:00:06.153 に答える