C语言这道题为什么选c?
2个回答
展开全部
先执行++a,a=2,表达式++a||++b&&++c为真,值为1,++b&&++c不再执行运算。
b、c的值不变,b仍然是2。
注意:虽然&&的优先级高于||,但并不是说先执行++b&&++c,只是++b&&++c是一个表达式,总体还是表达式1||表达式2,而不是先运算++b&&++c。在进行或运算时,从左至右,若左边的表达式值为0,才判断右边表达式的值。对于本题,++a的值为2,表达式为真,值为1,就不再进行表达式2的运算了。
选C。
b、c的值不变,b仍然是2。
注意:虽然&&的优先级高于||,但并不是说先执行++b&&++c,只是++b&&++c是一个表达式,总体还是表达式1||表达式2,而不是先运算++b&&++c。在进行或运算时,从左至右,若左边的表达式值为0,才判断右边表达式的值。对于本题,++a的值为2,表达式为真,值为1,就不再进行表达式2的运算了。
选C。
追问
还是不是很明白&&比||的优先级高,为什么不先执行++b&&++c
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询