24h購物| | PChome| 登入
2009-09-13 22:31:11| 人氣2,108| 回應0 | 上一篇 | 下一篇

C使用注意事項 初稿

推薦 1 收藏 0 轉貼0 訂閱站台

輸入 :

※ scanf() 是不可以讀入空格的。
※ scanf() 除了讀取%s 之外的型態,都必須加上&
※ scanf() 可以指定輸入,但是請注意"別"加上\n
※ scanf() \n也會當作自元,使用%c讀入請小心
※ scanf() 若使用==輸入個數時,請注意是否個數相同
※ gets() ()內直接加上變數即可,只能用於讀入字串
※ gets() 可以讀取空格,但是若前一個輸入為scanf將會把\n當作是一筆輸入
※ getchar() 是讀入單獨的字元,需要指定ex.x=getchar();

宣告 :

※ 宣告陣列時,若格數>50萬 (約略) 請放置main()之外
※ 使用變數時,請宣告在使用那行之前
※ 請不要宣告同樣名稱的變數,在同一個區塊
※ 若輸入陣列時,最多的輸入字元數為n的話,請宣告char s[n+1]
※ 標頭檔請不要打錯符號
※ 需要的內建函式,請相對應打上標頭檔

輸出 :

※ 若使用printf 輸出數字時,請對照型態輸出,不然有時沒辦法看到真正的值
※  Dev-C++ 沒辦法顯示%lld 可改成%I64d
※ 輸出某些跳逸字元時(ex.\n) 需要加上\
※ 輸出的%d 之類的個數需等於後面所擺放的變數個數
※ 輸出字元會比輸出整數還要快

指令 :

(1) if (else if)*N else (有N個else if在中間)
    ※ if裡面的判斷=跟==是不相同的,若使用=將會被判斷成這個東西!=0即是
    ※ 請不要在if()後擺放;號
    ※ 請注意{}的個數
   ※ 若沒有打{} 它只能抓一行的指令
    ※ 若if之後又接一個if請注意先後順序,別忘了{}
(2) for(;;)
    ※ 請不要在for()後擺放;號
    ※ 請不要在for()內是擺放;號,而不是擺放","
    ※ 產生無限迴圈,通常是因為範圍值與累計值邏輯上的錯誤,以至於無法跳出
    ※ 產生無限迴圈,兩層以上的迴圈請注意變數的相對應擺放,以至於無法跳出
   ※ 若沒有打{} 它只能抓一行的指令
(3) while()
   ※ 若沒有打{} 它只能抓一行的指令
    ※ ()內什麼能沒有放(ex.!= == > <)代表,該變數不等於 0 即是

函式 :

※ 在Dev-C++中,就算函式名稱相同 (只要呼叫的變數個數不同),就不會產生問題 (G系統會有問題 CE)
※ 在編寫函式的時候,常常會因為修改後,忘記把呼叫那行的變數增加或減少而找不到錯誤
※ 呼叫函式時,請注意不可連續呼叫超過10萬次 (約略) (會STACKOVER)
※ 若未宣告函式主體,請注意函式擺放的順序,以及呼叫的先後
※ 尚未能發現能傳二維陣列到函式內

其他 :

※ 出現"不回報"的時候,有可能是因為用超出陣列的範圍 (Dev-C++)
※ 出現"不回報"的時候,有可能是輸入沒有&符號 (Dev-C++)
※ 出現"不回報"或者是跳不出來的時候,有可能某個變數乘到超過型態大小,那個變數又有用到除法 (Dev-C++)
※ 請不要在程式碼"某處"亂打東西,抓紅行很難找到

台長: 來源不明
人氣(2,108) | 回應(0)| 推薦 (1)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: 算是技巧 |
此分類下一篇:內建快排 同時移動附件
此分類上一篇:新發現 I

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文