c语言 main(){ int i= -1,j=1,k=0; k=(--i<0)&&!(j--<=0); printf("%d",j);} 结果口算为0,机上为1。求解

错了。。k=(++i<0)&&!(j--<=0);这样 j是1 ,++改成上面的-- j就是0。。

++i<0为假则&&的结果必定为假的,后面的表达式系统都不运算了所以j的值仍然为1不变。
i=-1,++i<0为假!
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-22
楼主在仔细看看,上机结果是0
相似回答
大家正在搜