C語言中幾種報錯型別的解決方案

梓在我心 發表於 2020-11-30

C語言中幾種報錯型別的解決方案

宣告:本人小白,第一次寫部落格,由於查報錯原因比較困難,為了方便記下自己敲程式碼遇到的問題而隨筆寫下,文中有諸多錯誤,希望路過的大佬能夠對我的文章批評指正。我也會不斷修改完善此文章。

1. [Error] stray ‘\243’ in program(中文符號報錯)

[Error] stray ‘\273’ in program

[Error] expected ‘,’ or ‘;’ before ‘S’(語法報錯,想讓你加,或者;)

[Error] expected ‘;’ before ‘}’ token(語法報錯,想讓你加;或者})

這種情況一般是使用了中文符號且一般是分號。
需要注意的一點是如果分號在句子末尾,那麼程式報錯的位置會在它的下一行,第三句錯誤中before後面的位置應該為下一行開頭的位置。

2. [Error] ‘L’ undeclared (first use in this function)(變數未定義)

這種情況一般是沒對L這個變數進行型別定義,如果定義了的話有可能是語法或符號有問題,應該仔細檢查定義型別的句有無問題。並且,也需要注意一下上下句的語法,符號是否正確,如果上一句結尾的符號不正確也會導致下一句語法錯誤。

3.[Error] stray ‘\243’ in program(中文符號報錯)

[Error] stray ‘\250’ in program

[Error] stray ‘\251’ in program

這種一般也是中文符號報錯,很大可能是括號。
如果只顯示[Error] stray ‘\251’ in program則是半個括號的錯誤;
如果是同時顯示
[Error] stray ‘\251’ in program
[Error] stray ‘\250’ in program 則是一對括號的錯誤;

4.[Error] ld returned 1 exit status

在主函式使用其他函式時,打錯函式名稱時會出現此類錯誤。
看到其他大佬說也有可能是環境配置問題。

5.程式異常終止

原因可能為找不到地址,例如:
1.

int a;
scanf("%d",e); 

這裡scanf少一個取址符號&,找不到地址程式就會半途終止。
2.指標使用時沒有指向地址也會導致程式異常終止。
3.在主函式中未申請記憶體使用指標也會導致程式異常終止。

相關文章