请解释一下这几道c语言选择题。谢谢了。
1个回答
展开全部
39)C正确,最后b的值为2。因为&&比||优先级高,所以原题被解释为++a || (++b && ++c);。++a的值是2不为0,||只要有一边不为0就为“真”,所以已经可以确定整个表达式的值了,||后面的表达式不再计算,所以b保持了原值2。
40)B正确,结果是8。因为()中是所谓“逗号表达式”,从左至右计算各个分表达式的值,但最后取最后右边的逗号后面的分表达式的值作为整个表达式的值。由于j++是后++,参与运算后才执行,所以整个表达式的值是3+5=8,在此之后j才由5变为6。
41)B正确,最后值是8。与40)一样是逗号表达式,注意a*2分表达式的值并没有赋给a,所以a还是2,最后2+6=8。
40)B正确,结果是8。因为()中是所谓“逗号表达式”,从左至右计算各个分表达式的值,但最后取最后右边的逗号后面的分表达式的值作为整个表达式的值。由于j++是后++,参与运算后才执行,所以整个表达式的值是3+5=8,在此之后j才由5变为6。
41)B正确,最后值是8。与40)一样是逗号表达式,注意a*2分表达式的值并没有赋给a,所以a还是2,最后2+6=8。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询