语句{intx,y,z ;x=1,y=z=2; ++x&&y--||++z}怎么理解
答案:4 悬赏:70 手机版
解决时间 2021-04-07 14:29
- 提问者网友:像風在裏
- 2021-04-07 10:25
语句{intx,y,z ;x=1,y=z=2; ++x&&y--||++z}怎么理解
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-04-07 11:33
定义x,y,z为整数类型;
给x赋值1,y和z为2;
如果 ++x 不为零 则 y--,因为++x && y--的结果是true,++z由于短路不会被执行。
结果:x=2,y=1,z=2
全部回答
- 1楼网友:慢性怪人
- 2021-04-07 13:41
你问的是哪一句?
- 2楼网友:woshuo
- 2021-04-07 12:49
x(y-z)-y(z-x)+z(x-y)
=xy-xz-yz+xy+xz-yz
=2xy-yz
代入x=1,y=2,z=-1
原式=2*1*2-2*2*(-1)
=4+4
=8
- 3楼网友:不想翻身的咸鱼
- 2021-04-07 11:58
前面的定义,赋值语句没什么好说的,关键是最后的++x&&y--||++z;
由运算符优先级可知等效于(++x&&y--)||++z
首先看++x&&y--,这句语句后,导致x自增一,成为2;y自减一,成为1.然后整个子表达式的值为1
在犹豫||运算符的短路效应,既然||符左侧已经为真了,那么就没有必要进行右侧判断了,所以z还是原值2,未变化
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯