短路求值

作為"&&"和"||"操作符的運算元表達式,這些表達式在進行求值時,只要最終的結果已經可以確定是真或假,求值過程便告終止,這稱之為短路求值(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的值是假時,下一個字元就不會被讀取。

相關詞條

熱門詞條

聯絡我們