有以下程序: main() { int i=1, j=2, k=3; if(i++==1&&(++j==3||k++==3))printf("%d%d%d\n", i, j, k); } 程序运行后的输出结果是____

admin2013-06-11  27

问题 有以下程序:    main()    {  int i=1, j=2, k=3;       if(i++==1&&(++j==3||k++==3))printf("%d%d%d\n", 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。
转载请注明原文地址:https://jikaoti.com/ti/Zfn0FFFM
0

最新回复(0)