c语言if语句中的逻辑表达式 画线部分为什么不成立

问题描述:

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就不执行了。。
 
 
展开全文阅读
剩余:2000
上一页:解题方法 技巧
下一页:过程3