新人求助~~关于FOR循环里使用x++和++x
c语言吧
全部回复
仅看楼主
level 1
夕唯靖雨 楼主
为什么在程序中书将
for(x=1;y<=75;y=(x++*5)+50)替换为
for(x=1;y<=75;y=(++x*5)+50)
后产生的结果是一样的呢?
for(x=1;y<=75;y=(x++*5)+50) 理解第一次y的赋值为1*5+50对吧?至少我这么理解就可以得到实际的运行结果。
但是:
for(x=1;y<=75;y=(++x*5)+50) 不是应该理解第一次y的赋值为(1+1)*5+50么?那么程序应该结果是1对应60...6对应85,但事实上不是。
原代码:
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int x;
int y=55;
for(x=1;y<=75;y=(x++*5)+50)
printf("%10d %10d\n",x,y);
return 0;
}
运行结果:
1 55
2 55
3 60
4 65
5 70
6 75
2012年07月17日 08点07分 1
level 1
夕唯靖雨 楼主
我是觉得换成++x后结果应该变为:
1 65
2 75
.....
2012年07月17日 09点07分 3
level 1
夕唯靖雨 楼主
写错了一点,原代码运行结果应该是:
1 55
2 60
3 65
4 70
5 75
2012年07月17日 09点07分 4
level 9
搞不懂。。。不过不要用这种可能出现问题的语句啊
2012年07月17日 09点07分 5
我也不想用,只是试试,但结果让我意外,所以提问。
2012年07月17日 09点07分
1