假设 i j k 初始值为0
++i || ++j && ++k;
上面的表达式应该如何计算呢?
在 && 与 || 混合运算的时候,整个表达式被看作 || 表达式
编译器从左到右 开始计算 && 表达式,当某个&&表达式的值为真的时候 停止计算 整个表达式的值 为真
上面的表达式等价于 (++i) || (++j && ++k)
++i = 1表达式的值为真
j ,k 不计算依然为初值0
假设 i j k 初始值为0
++i || ++j && ++k;
上面的表达式应该如何计算呢?
在 && 与 || 混合运算的时候,整个表达式被看作 || 表达式
编译器从左到右 开始计算 && 表达式,当某个&&表达式的值为真的时候 停止计算 整个表达式的值 为真
上面的表达式等价于 (++i) || (++j && ++k)
++i = 1表达式的值为真
j ,k 不计算依然为初值0
本文标题:C语言中的逻辑与逻辑或混合使用
本文链接:https://www.haomeiwen.com/subject/gbrrfqtx.html
网友评论