A-A+

有以下程序: main() { int i=1 j=2 k=3; if(i++==1&&

2022-08-06 05:45:02 问答库 阅读 176 次

问题详情

有以下程序: main() { int i=1, j=2, k=3; if(i++==1&&(j==3||k++==3))printf("%d%d%dn", i, j, k); } 程序运行后的输出结果是______。
A.1 2 3
B.2 3 4
C.2 2 3
D.2 3 3请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
解析:对于if语句,根据优先级顺序,先判断(++j=-3||k++==3),此时,++j=-3成立,就不用计算“||”后面的表达式,此时k=3,由于i++==1成立,自加后i=2,if语句的条件为真,故输出的结果为:2,3,3。

考点:程序