短路求值
数学术语
表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值(short-circuit evaluation),这是这两个操作符的一个重要属性。
例子
假如expr1和expr2都是表达式,并且expr1的值为0,在下面这个逻辑表达式的求值过程中:
expr1 && expr2
expr2将不会进行求值,因为整个逻辑表达式的值已经可以确定为0。
类似地,如果expr1的值不是0,那么在下面的这个逻辑表达式的求值过程中:
expr1 || expr2
expr2将不会进行求值,因为整个逻辑表达式的值已经确定为1。
下面是一个简单的可能会出现短路求值的例子。假如我们需要处理的字符数量不超过5个。
int cnt =0;
while (++cnt<=5&&(c=getchar())!=EOF)
{
...
}
表达式++cnt≤5的值是假时,下一个字符就不会被读取。
参考资料
最新修订时间:2024-05-21 11:50
目录
概述
参考资料