i= x++= =5&& y++= =6 的运算结果为什么是x=5 y=5 i=0 ?为什么y的值没有改变?
答案:4 悬赏:0 手机版
解决时间 2021-11-28 02:35
- 提问者网友:原来太熟悉了会陌生
- 2021-11-27 05:11
i= x++= =5&& y++= =6 的运算结果为什么是x=5 y=5 i=0 ?为什么y的值没有改变?
最佳答案
- 五星知识达人网友:青尢
- 2021-11-27 06:21
&&运算符的规定是,如果左边的结果为假,那么整个表达式的结果肯定为假,所以右边就不必计算了。x++==5的计算结果为假,所以右边的y++操作根本没有执行。
全部回答
- 1楼网友:几近狂妄
- 2021-11-27 07:07
看优先级 自增>判断>赋值>&&
再来看 i= x++= =5&& y++= =6
第一步 i=4==5&&y++==6 (x等到表达式算完的时候会自加,变成5)
第二步 i=0 && y++==6;
由于左边i=0 ,C语言中0 表示false,非0表示true, 这个表达式相当于 false && y++==6,无论右边的值是什么,值永远是 false, 所以&&右边的表达式不会执行
再来看 i= x++= =5&& y++= =6
第一步 i=4==5&&y++==6 (x等到表达式算完的时候会自加,变成5)
第二步 i=0 && y++==6;
由于左边i=0 ,C语言中0 表示false,非0表示true, 这个表达式相当于 false && y++==6,无论右边的值是什么,值永远是 false, 所以&&右边的表达式不会执行
- 2楼网友:酒者煙囻
- 2021-11-27 06:41
是&&运算符决定的,一旦第一个为false,就不会触发&&后面的运算,替换为&的话就会发生变更的了
- 3楼网友:你可爱的野爹
- 2021-11-27 06:36
=是运算符号
==是赋值符号
==是赋值符号
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯