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

admin2010-09-05  24

问题 有以下程序:    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。
转载请注明原文地址:https://kaotiyun.com/show/mOWp777K
0

最新回复(0)