问题 单项选择题

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

A.1,1,2

B.2,2,1

C.2,2,2

D.2,2,3

答案

参考答案:C

解析: 本题考查“逻辑或”运算的特例。本题中if语句的条件表达式为(j++||k++)&&i++,首先计算表达式 (j++||k++)的值,++运算符位于右侧,因此先取j、k当前值进行运算,因j=1,所以表达式(j++||k++)的值为真, k++表达式不再执行,故执行完表达式(j++||k++)&&i++后,j=2、k=2、i=2。

单项选择题
单项选择题 A1型题