下面程序的输出结果是#include<stdio.h>main(){int x=-1,y=3,k;k=(x++<=0)&&(!(y--<=0));printf("%d,%d,%d"

下面程序的输出结果是#include<stdio.h>main(){int x=-1,y=3,k;k=(x++<=0)&&(!(y--<=0));printf("%d,%d,%d",k,x,y);}

答案是1,0,2
k=(x++<=0)&&(!(y--<=0)); 这句怎麼看..

(x++<=0)&&(!(y--<=0))
总体上是个 && 表达式
先看左边x++<=0
x先取值后自增,取值为-1,比0小,所以x++<=0为真,x自增过后等于0
再看右边!(y--<=0)
y先取值后自减,取值为3,比0大,所以y--<=0为假,!(y--<=0)为真,y目前等于2
&&两边都是真,所以值为1,赋值给k
最终k就是1,x是0,y是2
温馨提示:答案为网友推荐,仅供参考
相似回答