作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/17 16:12:58
若已定义 int a=3,b=2,c=1; 则语句 ++a||++b&&++c; 运行后b的值为
若已定义 int a=3,b=2,c=1; 则语句 ++a||++b&&++c; 运行后b的值为
&&的结合性高,而||只要求其中一个为真即可,++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不再计算