C語言陷阱與缺陷(5)

2021-07-04 04:26:34 字數 628 閱讀 8001

庫函式

1.返回整數的getchar函式

記住:getchar的返回型別為int 而不是char.

2.更新順序檔案

乙個檔案輸入操作不能隨後緊跟乙個檔案輸出操作,反之亦然。

若要同時進行檔案輸入、輸出操作,必須在其中插入

fseek函式的呼叫(用於改變檔案的狀態,使其能正常的讀取)。

3.緩衝輸出與記憶體分配

通過使用setbuf(stdout,buf),來控制產生的輸出資料量。注意:要麼將緩衝陣列成為靜態陣列,要麼動態分配緩衝區

4.使用errno檢查錯誤(通知程式該函式呼叫失敗)

在呼叫庫函式是,應首先檢測作為錯誤指示的返回值,確定程式執行已經失敗了,然後再檢查

errno,來搞清楚出錯原因。

5.庫函式signal

捕獲非同步事件的一種方式

c陷阱與缺陷 陷阱

例1 if x y break 這就話的意思就是把y賦值x,判斷x是否為0,實則是在判斷y是否為0 例2 while c c t c n 這句話的意思就是 c t c n 賦值給c,而有 符本身就是不為0的數,所以這就是while 1 的意思。例3 int x 4,p new int p 2 cou...

C語言缺陷與陷阱(6)

預處理器 巨集 一種對組成 c程式的字元進行變換的方式,而並不作用於程式中的物件。1.不能忽視巨集定義中的空格 define f x x 1 被翻譯為 f 代表 x x 1 2.巨集並不是函式 巨集定義中最好把每個引數都用括號括起來,整個結果表示式也應該用括號括起來。要確保巨集中的引數沒有 如,引數...

C陷阱與缺陷

c語言對於符號 包含乙個或多個字元 的識別規則 每乙個符號應該包含盡可能多的字元。也就是說,編譯器將程式分解成符號的方法是,從左到右乙個字元乙個字元地讀入,如果該字元可能組成乙個符號,那麼再讀入下乙個字元,判斷已經讀入的兩個字元組成的字串是否可能是乙個符號的組成部分 如果可能,繼續讀入下乙個字元,重...