20.以下程序的输出结果是( )

来源:百度知道 编辑:UC知道 时间:2024/05/15 00:46:09
main()
{int a=-1,b=4,k;
k=(++a<0)&&!(b--<=0);
printf("%d%d%d\n",k,a,b);
}
A.104 B.103 C.003 D.004

换个小号来解释:
b-- 不会被执行, 因为在exp1 && exp2的情况, 如果exp1不成立, exp2不会被执行。
所以答案是 D

D 004

C 003
++a后 a=0,不<0,&&两者都为1才为1,k=0
b--,b=3