2013-01-22 54 views
0

我刚开始学习C,所以答案可能非常明显,但是当我运行这个代码时,数字0只是在无限循环中重复。我试图以0.05为增量从0到1打印x。试图让这个循环工作?

#include <stdio.h> 
int main() 
{ 
double x; 


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

    printf("%d\n", x); 
} 
} 

回答

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

好像你不写更改的x值与x .....如果你知道我的意思:d
x++相同x+=1
x+.05不会改变X的值,因此x将始终为0并导致无限循环...

0

您想要添加和赋值复合运算符,即+=,而不仅仅是+

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

目前的表达式的结果是x + 5,其结果不使用,导致你的循环的条件永远是假的。

2

我想这就是你要找的内容:

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

你要更改为+ =符号和d更改为˚F

  • d是十进制整数
  • ˚F是浮点数
+0

谢谢!它现在工作:) – user1984103

0

变化在该行的for循环
for(x = 0; x <= 1; x += .05)

注意
x += .05
相当于打字
x = x + .05
这是你真正想要的,因为目标是更新x的值。