以下程序的输出结果是( )。 main() { int a=-1,b=4,k; k=(++a<0)&&!(b--<=0); printf("%d%d%d\n"m,k,a,b); }

admin2010-01-10  18

问题 以下程序的输出结果是(  )。    main()    {    int a=-1,b=4,k;    k=(++a<0)&&!(b--<=0);    printf("%d%d%d\n"m,k,a,b);    }

选项 A、104
B、103
C、3
D、4

答案8

解析 &&的优先级高于=,先计算&&左侧的表达式++a<0。先对a加1再与0比较大小,a=-1+1=0,++a<0为假即0,&&左侧的表达式的值为0,不再计算&&右侧的表达式的值,因此b的值不变仍然为4,整个逻辑表达式的值为0,则k被赋值为0。输出的结果为004。
转载请注明原文地址:https://kaotiyun.com/show/mhWp777K
0

最新回复(0)