computer:c:tips:logical_and_or
这是本文档旧的修订版!
逻辑与/或操作符的注意事项
逻辑与操作符&&、逻辑或操作符||也称为条件与(conditional AND)、条件或(conditional OR),因为它们的第二个操作数不一定需要计算,这一点需要注意。
例如:
if (i < 10 && a[i++] != 0)
如果之前i==5,则该语句执行后,i==6;如果i不小于10,则整个逻辑表达式的结果已知,第二个操作数不再计算,所以该语句执行后,i的值不变。
同样:
if (i >= 10 || a[i++] == 0)
如果之前i==5,则该语句执行后,i==6;如果i不小于10,则整个逻辑表达式的结果已知,第二个操作数不再计算,所以该语句执行后,i的值不变。
类似的情况,还有三元条件表达式? :,其第二操作数和第三操作数只有一个会实际计算。
computer/c/tips/logical_and_or.1409916993.txt.gz · 最后更改: 2014/11/01 02:02 (外部编辑)