c++ 的while循环

[复制链接]
查看11 | 回复4 | 2009-2-1 13:42:01 | 显示全部楼层 |阅读模式
C++新手求助:有一下一段程序
int x,y,z;
y=2;
while(y<10 )
{

x=y++;

z=++y;
}
cout<<"x="<<x<<","<<"y="<<y<<","<<"z="<<z<<endl;
输出结果:X=8,Y=10,Z=10
将初始值改为y=1,输出结果X=9,Y=11,Z=11.
请问X,Y,Z是怎么计算出来的?

回复

使用道具 举报

千问 | 2009-2-1 13:42:01 | 显示全部楼层
记住y++是先用再加,++y是先加再用while(y<10 )//第1轮y=2{x=y++;//x=2,y=3;z=++y;//y=4,z=4;}while(y<10 )//第2轮y=4{x=y++;//x=4,y=5;z=++y;//y=6,z=6;}while(y<10 )//第3轮y=6{x=y++;//x=6,y=7;z=++y;//y=8,z=8;}while(y<10 )//第4轮y=8{x=y++;//x=8,y=9;z=++y;//y=10,z=10;}之后就不满足条件了。y改1依此类推...
回复

使用道具 举报

千问 | 2009-2-1 13:42:01 | 显示全部楼层
楼主注意 y++是先引用然后再自加,++y是先自加然后再引用这样随着循环的依次下去,当y的值大于等于10的时候跳出打印结果,楼主用笔仔细推一下,很容易的希望帮到你!...
回复

使用道具 举报

千问 | 2009-2-1 13:42:01 | 显示全部楼层
Y++是先将Y的值等到X中再将Y的值加1,++Y是先将Y的值加1再等到Z中...
回复

使用道具 举报

千问 | 2009-2-1 13:42:01 | 显示全部楼层
x=y++的意思是x=y;y=y+1z=++y的意思是y=y+1;z=y...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行