C++中&&的优先级比||的要高 但是为什么下面程序运行过程是这样的 x=2 y=1 (x>y)|
C++中&&的优先级比||的要高但是为什么下面程序运行过程是这样的x=2y=1(x>y)||(x>0)&&(y>0)我们书上写的因为x>y成立所以后面的被短路为什么不是先...
C++中&&的优先级比||的要高 但是为什么下面程序运行过程是这样的 x=2 y=1 (x>y)||(x>0)&&(y>0) 我们书上写的因为x>y成立 所以后面的被短路 为什么不是先执行&&而是先执行|| 就像2+3*5 是先执行后面的啊
展开
2个回答
展开全部
2+3*5在计算机中不是先计算3*5的。。。
这么给你解释吧:2+3*5是
放入2到存储器 存储器:2
放入3到存储器 存储器:2 3
放入5到存储器 存储器:2 3 5
对存储器末端的3和5进行乘法运算放入存储器 存储器:2 15
对存储器末端的2和15进行乘法运算翻入存储器 存储器:17
取出存储器末端的数17 存储器空
这个(x>y)||(x>0)&&(y>0):
放入x>y的值进入存储器 存储器:1
判断存储器末端的1是否为真(是) 存储器:1
取出存储器末端的数1 存储器空
(若为假(存储器末端为0)放入x>0的值进入存储器 存储器:0 1)
(继续。。。)
这么给你解释吧:2+3*5是
放入2到存储器 存储器:2
放入3到存储器 存储器:2 3
放入5到存储器 存储器:2 3 5
对存储器末端的3和5进行乘法运算放入存储器 存储器:2 15
对存储器末端的2和15进行乘法运算翻入存储器 存储器:17
取出存储器末端的数17 存储器空
这个(x>y)||(x>0)&&(y>0):
放入x>y的值进入存储器 存储器:1
判断存储器末端的1是否为真(是) 存储器:1
取出存储器末端的数1 存储器空
(若为假(存储器末端为0)放入x>0的值进入存储器 存储器:0 1)
(继续。。。)
追问
对于这种方法可以理解v解释的很详细 谢谢你了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询