C語言常見錯誤分析 基礎細節面試點之一

2021-05-28 13:16:11 字數 3351 閱讀 2108

c語言常見錯誤分析(基礎細節面試點之一)

c語言常見錯誤分析:

錯誤分類

語法錯

邏輯錯

執行錯

0.忘記定義變數:

main()

他是pascal的語法

8.不該加分號的地方加了分號

if(a>b);

printf(「a is larger than b 」);

for(i=0;i<10;i );

9.對應該有花括弧的復合語句,忘記加花括弧

sum=0;

i=1;

while(i<=100)

sum=sum 1;

i ;

10.括弧不配對

while((c=getchar()!=『#』)

putchar(c);

11.在用標識時,忘記了大寫字母和小寫字母的區別

12.引用陣列元素時誤用發圓括弧

13.在定義陣列時,將定義的」元素個數」誤認為是」可使用的最大下標值

;

int i;

for(i=1;i<=10;i )

printf(「%d」,a);

}

14.對二維或多維陣列的定義和引用的方法不對

15.誤以為陣列名代表陣列中全部元素

;

printf(「%d%d%d%d」,a);

}

16.混淆字元陣列和字元指標的區別

main()

17.在引用指標變數之前沒有對他賦予確定的值

18.switch語句的各分支中漏寫 break語句

混淆字元和字串的表示形式

char ***;

***=「m」;

19.使用自加( )和自減(--)運算子時出的錯誤

;

p=a;

printf(「%d」,*p );

}

注意於*( p)的區別;

20.所呼叫的函式在呼叫語句之後才定義,而又在呼叫前未加說明

main()

float max(float x,float y)

21.誤認為形參值的改變會影響實參的值

swap(int x,int y)

main()

22.函式的實參和形參型別不一致

fun(float x,float y)

main()

23.不同類的型指標混用

24.沒有注意函式引數的求值順序

int i=3;

prinft(「%d,%d,%d 」,i, i, i);

結果為5,5,4

因為vc 是採取自右至左的順序求函式的值

c標準沒有具體規定函式引數求值的順序

25.混淆陣列名和指標變數的區別

;

worker.num=187045;

strcpy(worker.name,」zhangfun」);

worker.***=『m』;

worker.age=18;

27.使用文件時忘記開啟,用唯讀方式開啟,卻企圖向該文件輸出資料

if(fp=fopen(「test」,」r」))==null)

ch=fgetc(fp);

while(ch!=『#』)

C語言 常見錯誤

1.忘記定義變數。2.輸入輸出的資料的型別與所用格式說明符不一致。3.未注意 型資料的數值範圍。4.在輸入語句scanf中忘記使用變數的位址符。5.輸入資料的形式與要求不符。6.誤把 作為 等於 運算子。7.語句後面漏分號。8.在不該加分號的地方加了分號。9.對應該有花括號的復合語句,忘記加花括號。...

C語言 常見錯誤

1 char p 注意p中包含字串結束符 0 2 strlen函式沒有包含字串末尾的 0 3 如果函式的引數是乙個指標,不要指望用該指標去申請動態記憶體 4 createnode binnode tree,char p 訪問tree.data錯誤 原來問題出在c編譯器原理上 編譯器總是要為函式的每個...

C語言常見錯誤

1.索引陣列時的防止越界的錯誤寫法 int arr max 在某處索引該陣列時,為了防止下標越界,可能會這樣寫 count get index if arr count 0 count max 在count max時,第乙個判斷條件其實已經越界了 do something 2.在兩個執行緒間傳遞指標...