c和c++中,诸如if(条件一||条件二)这样的语句,

如果条件一已经满足,条件二会怎么处理呢?会执行一遍吗?
像if(1||(i++)==5)这种会有什么不同吗

不会,当第一个满足||的时候,就不在对第二个求值。同理,对于&&运算符当第一个不满足时,就不在预算下一个。这个在C中叫做快速求值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-25
如果条件1满足的话,后面就不执行了。
if(1 || (i++) ==5) 后面的 (i++) == 5 根本不会执行,所以这句话之后i的值保持不变。

相当于 if(1)