C if語句中的短路效應

2021-08-26 12:32:46 字數 469 閱讀 9326

邏輯與運算子&&和邏輯或運算子 || 都是從左到右結合的,在計算機包含「&&」或「||」的表示式時,一旦能確定整個表示式的值,求解就會立即停止。例如:

#includeint main ( )

執行結果是:

true. a=10, b=10, c=2

說明:if語句後面的條件(a=b || c=b)的計算順序是先求解a=b,其值是10(a已經賦值為10), 不為0,因此整個表示式的值肯定不是0,右邊c=b不需要求解(這稱作是短路效應),故c的值保持原來的2不變。

同理,對於&&運算子,一旦左側為0,也不需要求解右側的值(短路效應)。

程式設計經驗:在編寫包含運算子&&的表示式時,把最有可能為假的簡單條件寫在表示式的最左邊,在編寫包含運算子||時,把最有可能為真的簡單條件寫在表示式的最左邊,這樣做有助於減少程式的執行時間,提高程式的效率。

C if 語句的正確書寫方式

if 語句是c c 語言中最簡單 最常用的語句,然而很多程式設計師用隱含錯誤的方式寫if 語句。本節以 與零值比較 為例,展開討論。1 布林變數與零值比較 規則一 不可將布林變數直接與true false 或者1 0 進行比較。根據布林型別的語義,零值為 假 記為false 任何非零值都是 真 記為...

for語句中的 和

for int i 0 i 100 i 和for int i 0 i 100 i 是程式設計中常用的兩個語句,這兩個語句看似作用類似但實際上在使用中卻容易產生很多意想不到的問題 入下例 這段 是用歸併排序演算法對陣列進行排序,在merge函式中有三個for語句,如果使用 和使用 會嘗試完全不同的結果...

Sql語句中的DDL語句

資料庫模式定義語言ddl data definition language 是用於描述資料庫中要儲存的現實世界實體的語言。主要由create 新增 alter 修改 drop 刪除 和 truncate 刪除 四個關鍵字完成。create database 資料庫名 建立乙個資料庫 create d...