天天看點

C語言優化執行個體:循環中減少判斷

為了讓編譯器更好地優化循環,應該盡量讓循環中減少判斷,方法之一是将判斷語句整合進表達式。還是這個例子:

假如我們需要加一個判斷,隻有非負整數才需要作求和運算:

下面将這個判斷語句整合進表達式:

注意這種将判斷語句整合進表達式的方法不一定在任何情況下奏效。如果if條件為真的可能性很大,那麼可以考慮這樣整合;如果這樣整合讓邏輯變得很複雜,當然不建議這樣做,因為編寫簡約明了的代碼是非常重要的。最好的方法就是實際測試兩個版本的性能,然後選取性能更優的。