在C 語言中,表達式是最重要的組成部分之一,幾乎
所有的代碼都由表達式構成。表達式的使用如此廣泛,讀
者也許會產生這樣的疑問,像+ 、- 、3 、/ 、& & 這樣簡單
的運算也會出現問題嗎? 程序員在編寫表達式時,往往帶
有一些不良的習慣。即使是編寫很簡單的表達式,這些不
良習慣也可能造成隱患,這個小小的隱患甚至可能引起整
個系統的崩潰。實際上,在程序調試過程中,表達式中存
在的大部分隱患皆來源于程序員的主觀臆測,即認為表達
式應該是按自己認為的方式執行,但結果可能完全相反。
這是因為程序設計語言或編譯器的某些內在機制并不如
我們所想的那樣。所有的編譯器都遵從這一假定:程序員
都是“神”,他們既了解編程語言的各種特性,也了解編譯
器本身一些鮮為人知的處理原則。當然, 程序員不是
“神”。因此,程序員在編寫程序的過程中需要小心地避免
編譯器“設置”的各種陷阱,而問題是有些時候很難預測下
一步是否會踏上一個陷阱
標簽:
表達式
語言
分
代碼
上傳時間:
2015-09-08
上傳用戶:jennyzai
回溯(b a c k t r a c k i n g)是一種系統地搜索問題解答的方法。為了實現回溯,首先需要為問題定義一個解空間( solution space),這個空間必須至少包含問題的一個解(可能是最優的)。在迷宮老鼠問題中,我們可以定義一個包含從入口到出口的所有路徑的解空間;在具有n 個對象的0 / 1背包問題中(見1 . 4節和2 . 2節),解空間的一個合理選擇是2n 個長度為n 的0 / 1向量的集合,這個集合表示了將0或1分配給x的所有可能方法。當n= 3時,解空間為{ ( 0 , 0 , 0 ),( 0 , 1 , 0 ),( 0 , 0 , 1 ),( 1 , 0 , 0 ),( 0 , 1 , 1 ),( 1 , 0 , 1 ),( 1 , 1 , 0 ),( 1 , 1 , 1 ) }。
標簽:
搜索
上傳時間:
2014-01-17
上傳用戶:jhksyghr