问题
单项选择题
以下程序的输出结果是( )。 #include<stdio.h> main() {int a=1,b=3; if((++a<0)&&!(b--<=0)) printf("%d,%d\n",a,b); else printf("%d,%d\n",b,a);}
A.2,2
B.1,3
C.3,2
D.3,1
答案
参考答案:C
解析: 解答本题的关键在于读懂if语句条件中的表达式。初始时a=1,b=3,所以++a=2>0,因此++a<0为假,因为是进行逻辑与(&&)运算,在&&的第一个运算对象为假的前提下不用判断第二个运算对象的真假,就可以直接得出整个表达式的值为逻辑0,所以直接执行else语句。