一个小程序,帮小弟我看看小弟我分析的思路有什么有关问题啊多谢

一个小程序,帮我看看我分析的思路有什么问题啊,谢谢
while(x++!=(y-=1))     //近似写为x!=y-1,开始是x=3,y=5,判断完,变为x=4,y=5;因为3!=5开始第一次循环;
                                          //再进行第二次循环时判断,此时x=4,y=5,4!5,满足条件,执行第二次循环;判
                                          断完,变为x=5,y=4;
        {
          z++;             //循环结束后,z=1;   第二次循环结束时z=2;
          if(y <x)       //因为此时x=4,y=4,所以不满足条件,不break,直接返回while;   第二次循                                               环,y <x满足条件break,执行cout
                          break;
      }
          cout < <x < <y < <z;


对什么时候因为++而改变值不明白,大家帮帮忙,谢谢

------解决方案--------------------
x++!=(y-=1)
第一次循环时先进行判断
x=3,y=5-1=4,x!=y判断完后进入循环x=4,y=4,z=1
第二次循环时进行判断
x=4,y=4-1=3;x!=y判断完后进入循环x=5,y=3,z=2.
此时if(y <x)//3 <5成立退出循环

注意在x++!=(y-=1)中y是先减1再进行判断,而x是判断完后再加1
这与++x!=(y-=1)是有区别的(x是先加1再进入判断)
------解决方案--------------------
只进行一次循环,因为y -= 1,第一次后就变成4了。第二次时,x = y 了,就不进行循环了。