C语言前自增和后自增的问题
答案:6 悬赏:50 手机版
解决时间 2021-03-24 00:01
- 提问者网友:人傍凄凉立暮秋
- 2021-03-23 07:36
C语言前自增和后自增的问题
最佳答案
- 五星知识达人网友:愁杀梦里人
- 2021-03-23 08:57
后置的自增自减运算符优先级低于大多数运算符,而前置的高于大多数。
&&和||都是左表达式一旦能确定整个表达式的值,便不再执行右表达式,与之相对的是&和|
所以,
第一次:
z = 3 > 0 为真,z--,z = 2,判断右边
x = 0,++x,x = 1 < 5 为真
y--,y = 4
第二次:
z = 2 > 0 为真,z--,z = 1,判断右边
x = 1,++x,x = 2 < 5 为真
y--,y = 3
第三次:
z = 1 > 0 为真,z--,z = 0,判断右边
x = 2,++x,x = 3 < 5 为真
y--,y = 2
第四次:
z = 0 > 0 为假,z--,z = -1,跳过右边
x = 3,被跳过,值不变
y = 2,条件为假,不执行,值不变
所以结果为:
x = 3, y = 2, z = -1
&&和||都是左表达式一旦能确定整个表达式的值,便不再执行右表达式,与之相对的是&和|
所以,
第一次:
z = 3 > 0 为真,z--,z = 2,判断右边
x = 0,++x,x = 1 < 5 为真
y--,y = 4
第二次:
z = 2 > 0 为真,z--,z = 1,判断右边
x = 1,++x,x = 2 < 5 为真
y--,y = 3
第三次:
z = 1 > 0 为真,z--,z = 0,判断右边
x = 2,++x,x = 3 < 5 为真
y--,y = 2
第四次:
z = 0 > 0 为假,z--,z = -1,跳过右边
x = 3,被跳过,值不变
y = 2,条件为假,不执行,值不变
所以结果为:
x = 3, y = 2, z = -1
全部回答
- 1楼网友:低血压的长颈鹿
- 2021-03-23 12:02
while(z-->0&&++x<5) 注意挡Z--不大于0的时候,++X < 5不执行
- 2楼网友:轻雾山林
- 2021-03-23 11:38
z-->0&&++x<5
先z>0 后z-1;
然后x+1 后x<5
先z>0 后z-1;
然后x+1 后x<5
- 3楼网友:青灯有味
- 2021-03-23 10:45
注意:Z--在循环的时候,先拿z判断>0,然后在z-1=2,++x这时等于1(++x是先加1在判断)
输出的是1,4,2
输出的是1,4,2
- 4楼网友:煞尾
- 2021-03-23 10:34
把自增和自减 多写几个试题做做,然后电脑上调试一下,应该可以弄懂。
- 5楼网友:行路难
- 2021-03-23 09:48
第一次3>0 && 1<5 y==4
第二次2>0 && 2<5 y==3
第三次1>0 && 3<5 y==2
第四次0>0为“假”,&&后再不做了,但z--还要执行,所以结果是3,2,-1。不知道这个答案与你知道的一样不一样。
第二次2>0 && 2<5 y==3
第三次1>0 && 3<5 y==2
第四次0>0为“假”,&&后再不做了,但z--还要执行,所以结果是3,2,-1。不知道这个答案与你知道的一样不一样。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯