能讲解一下为什么这个程序的运行结果是这样吗
1个回答
展开全部
①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-07-11 广告
2023-07-11 广告
软件测试的流程包括以下几个方面:1. 测试需求分析阶段:这阶段主要任务是阅读需求,理解需求,对业务进行学习,并分析需求点。2. 测试计划阶段:这一阶段主要编写测试计划,参考软件需求规格说明书,项目总体计划,内容包括测试范围,进度安排,人力物...
点击进入详情页
本回答由北京新国信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询