问题描述: c语言if语句中的逻辑表达式 画线部分为什么不成立c语言if语句中的逻辑表达式画线部分为什么不成立 1个回答 分类:综合 2014-09-28 问题解答: 我来补答 因为当第一个if执行的时候,c的值已经变成2了,所以下面就不成立了一个等号是赋值语句第一个if等以是判断if(2||1)所以是成立的 再问: 第一个if执行赋值时,是不是只要不等于0,都成立? 再答: 对再问: 那就是说,((a=2)||(b=1))c=2;的意思就是,赋值a为2,为真,后面的就不再执行判断。b就为1,c就为2了?最后输出b的值不是应该是1。为何是2? 再答: 他是先判断||前面的,如果已经是真了,那么后面的就不执行了,所以 b = 1就不执行了。。 展开全文阅读