注册 登录
编程论坛 C++教室

z 为啥是 1 不是 2 呢?

宇智波鼬123 发布于 2014-06-28 20:39, 534 次点击
#include<iostream>
using namespace std;
void main()
{
int x=3,y=6,z=0;
while(x++!=(y-=1))
{
    ++z;
    if(y<x)
        break;
    cout<<z<<endl;
}
cout<<"x="<<x<<",y="<<y<<",z="<<z<<endl;

}
7 回复
#2
funyh2502014-06-28 23:03
如果你认为是2 原因就是忽略while(....)里的语句了

[ 本帖最后由 funyh250 于 2014-6-28 23:04 编辑 ]
#3
Talo2014-06-29 23:12
你再仔细看一下,循环只进行一次
#4
stop12042014-06-30 08:55
while (3 != 5)
++z;
#5
NBABOY2014-06-30 12:06
要注意++a和a++的区别
#6
宇智波鼬1232014-06-30 18:31
循环是只是进行一次,应该是这样的吧,先是判断4不是等于5,所以进行一次循环,此时z的值是1,执行下一次判断时是5不是等于4,然后z的值又加1,这时就是2了,程序再往下走就是判断满足y<x,跳出循环,可是输出值时z的值不应该是2吗?
#7
陆金泉2014-07-15 11:03
x++是先比较在做加1操作的

1