
c语言 设int x=2,y=3,z; z=(++x>=y--)?((--y==1)?x--:--y):y--;
1个回答
展开全部
先判断(++x>=y--),因为++在前,所以x+1=3,而--在后,所以先比较,y后变化,因此,在比较时,y仍为2,因此x=y,所以,z=((--y==1)?x--:--y)也就是前一项的值。此时,x=3,y=2;
再判断(--y==1),因为y先前已经变为2,所以此时y变为1,因此,z=x--;由上同理,--在后,因此z=x=3,后面x才会变为2。
大致如此,不懂可以再问我
再判断(--y==1),因为y先前已经变为2,所以此时y变为1,因此,z=x--;由上同理,--在后,因此z=x=3,后面x才会变为2。
大致如此,不懂可以再问我
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询