能讲解一下为什么这个程序的运行结果是这样吗
展开全部
①x=y=z=0; ++x||++y||++z;
由于++x为1,或运算++x||++y的结果一定为1,不再计算++y,直接返回1。这种特性称为短路运算。同理,1||++z的结果一定为1,不再计算++z,直接返回1。最终x=1,y=0,z=0。
②x=y=z=0;++x&&++y||++z;
++x的结果为1,继续计算++y,结果也为1,所以与运算++x&&++y返回1。1||++z结果一定为1,不再计算++z,直接返回1。最终x=1,y=1,z=0。
③x=y=z=0;++x&&++y&&++z;
++x的结果为1,继续计算++y,结果也为1,所以与运算++x&&++y返回1。1&&++z,继续计算++z,结果也为1,所以整个表达式返回1。最终x=1,y=1,z=1。
④x=y=z=0;++x||++y&&++z;
&&优先级高于||,所以表达式相当于++x||(++y&&++z)。由于++x为1,或运算++x||(++y&&++z)的结果一定为1,不再计算++y&&++z,直接返回1。最终x=1,y=0,z=0。
由于++x为1,或运算++x||++y的结果一定为1,不再计算++y,直接返回1。这种特性称为短路运算。同理,1||++z的结果一定为1,不再计算++z,直接返回1。最终x=1,y=0,z=0。
②x=y=z=0;++x&&++y||++z;
++x的结果为1,继续计算++y,结果也为1,所以与运算++x&&++y返回1。1||++z结果一定为1,不再计算++z,直接返回1。最终x=1,y=1,z=0。
③x=y=z=0;++x&&++y&&++z;
++x的结果为1,继续计算++y,结果也为1,所以与运算++x&&++y返回1。1&&++z,继续计算++z,结果也为1,所以整个表达式返回1。最终x=1,y=1,z=1。
④x=y=z=0;++x||++y&&++z;
&&优先级高于||,所以表达式相当于++x||(++y&&++z)。由于++x为1,或运算++x||(++y&&++z)的结果一定为1,不再计算++y&&++z,直接返回1。最终x=1,y=0,z=0。
汉坤(北京)流体控制技术有限公司
2023-06-12 广告
2023-06-12 广告
根据大数据评选,2022年电动执行器十大品牌名单有:1. 秀辉。2. 丹冠。3. 方威。4. 天津宝恒。5. 常辅股份。6. 新峰。7. 德博科技。8. 摩控。9. 科威纳。10. deyo。以上十大品牌是电动执行器行业的知名品牌,排名不分...
点击进入详情页
本回答由汉坤(北京)流体控制技术有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询