下列程序的输出结果是()。 main() {int i=1,j=2,k=3; if(i++==1&&(++j=3‖k++==3))printf(

10 查阅

下列程序的输出结果是( )。

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解析:本题考查自增运算符“++”、逻辑与运算符“&&”和逻辑或运算符“‖”。自增运算符“++”,出现在变量之前(如题中的++n),表示先使变量的值加1,再使用变量的值进行运算;出现在变量之后(如题中的n++),表示先使用变量的值进行运算,再使变量的值加1。当逻辑与运算符"&&"两边的运算对象都为真时,逻辑表达式的值才为真;当逻辑或运算符"‖"左边的运算对象为真时,其值就为真,不用计算其右边的运算对象的值。所以根据运算符的优先级,题中应先计算内层括号中的值。++j是

计算机二级