若已定义 int a=3,b=2,c=1; 则语句 ++a||++b&&++c; 运行后b的值为

问题描述:

若已定义 int a=3,b=2,c=1; 则语句 ++a||++b&&++c; 运行后b的值为
1个回答 分类:综合 2014-10-15

问题解答:

我来补答
&&的结合性高,而||只要求其中一个为真即可,++a||++b&&++c等价于++a||(++b&&++c),因此只判断前++a与(++b&&++c)两项,在本题++a!=0为真,因此b不会再执行,所以b=2
再问: 为什么++a!=0为真
再答: a为整数,且a本来就不等于0,而关系运算的值无非0或1。++a||++b等价于++a!=0||++b!=0,相应的 ++a==4!=0(4不等于0为真),所以对于逻辑或运算,从左至右运算,只要前面的++a为真,则++b不再计算
 
 
展开全文阅读
剩余:2000