複製鏈接
請複製以下鏈接發送給好友

短路求值

鎖定
作為"&&"和"||"操作符的操作數表達式,這些表達式在進行求值時,只要最終的結果已經可以確定是真或假,求值過程便告終止,這稱之為短路求值(short-circuit evaluation),這是這兩個操作符的一個重要屬性。
中文名
短路求值
外文名
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的值是假時,下一個字符就不會被讀取。