基本介紹
- 中文名:短路求值
- 外文名: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的值是假時,下一個字元就不會被讀取。