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
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