C语言设int x=2,y=1;则表达式(!x||y--)的值。我算的是0,答案是1.不知道错在哪?

C语言设int x=2,y=1;则表达式(!x||y--)的值。我算的是0,答案是1.不知道错在哪?

答案是1
(!x||y--)首先是!x就是0,y--的意思是先用y现在的值进行计算,再对y进行自减。所以||的前面是0,后面是1,而||只要前面或者是后面的任意一个是真就是真。所以输出1,而输出y的值则是0。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-23
!x这个表达式为0而后面一个表达式为1也,而||表示或,也就是说一个假和一个真取或运算还是为真,所以表达式为真即1
第2个回答  2010-05-23
其实很简单,y--,
当(!x||y--)执行后才能将y减1。
所以!x=0,y=1;
两者或后,为1。
这句话执行后,
才将y--
相似回答