c語言錯誤代碼大全-ag真人国际官网
編程初學者在探索c語言的奇妙世界時,常常會遇到各種編譯錯誤,但別擔心,這些代碼提示正是一把解開神秘迷宮的鑰匙。讓我們一起解讀這些常見的編譯錯誤,讓你的代碼編譯之路更加順暢。
1. 災難性的開始:致命錯誤c1003與c1004
當編譯器拋出c1003時,意味著錯誤太多,暫停編譯。先確保之前的問題已修復,再逐一嘗試。c1004則提醒你文件沒有完整結束,檢查是否忘記添加"{"或括弧不匹配,注釋是否完整。
2. 尋找文件的足跡:c1083和c1903
c1083是找不到頭文件的警報,可能是文件名拼寫錯誤或路徑問題。c1903表示無法恢復錯誤,需要逐個修正,切勿忽視任何一個。
3. 字元串的困擾:c2001和c2006
c2001是關於字元串常量多行書寫,而c2006則提醒我們,需要文件名而非標識符,檢查頭文件引用是否正確。
宏的世界:c2007到c2009
從c2007的宏定義語法錯誤,到c2009的形參重復,宏定義中的細微錯誤不容忽視。
形式參數的困惑:c2010到c2014
參數表的錯誤(c2010)、預處理命令問題(c2014)都在提示你檢查輸入的字元和轉義符是否正確。
繼續深入,我們還有更多類型的錯誤等待揭示:
20.21到20.23:指數運算的期待與字元的探索
錯誤c2021指出你需要的是指數,而非字元;c2039提示成員訪問錯誤;c2041則針對進制數的非法輸入提出警告。
20.41到20.58:switch語句的規范
從case表達式的類型檢查(c2052)到常量表達式的類型要求(c2058),每個細節都關繫到代碼的正確執行。
從c2064到c2087:標識符的困惑與邊界檢查
遇到未聲明的標識符(c2065)、函數定義沖突(c2086),或是數組邊界問題(c2118),都是在提示你檢查作用域和邊界。
當然,編譯過程中還有其他一些警告和錯誤,如非法間接訪問(c2100)、操作符使用規則(c2105),以及輸入輸出操作的潛在問題(c2169)。
最後,別忘了關注這些編譯警告背後的含義,它們往往能揭示代碼潛在的問題,幫助你寫出更健壯的c語言程序。
❷ c語言錯誤表
1. ambiguous operators need parentheses — 不明確的運算需要用括弧括起
2. ambiguous symbol 'xxx' — 不明確的符號
3. argument list syntax error — 參數表語法錯誤
4. array bounds missing — 丟失數組界限符
5. array size toolarge — 數組尺寸太大
6. bad character in paramenters — 參數中有不適當的字元
7. bad file name format in include directive — 包含命令中文件名格式不正確
8. bad ifdef directive synatax — 編譯預處理ifdef有語法錯
9. bad undef directive syntax — 編譯預處理undef有語法錯
10. bit field too large — 位欄位太長
11. call of non-function — 調用未定義的函數
12. call to function with no prototype — 調用函數時沒有函數的說明
13. cannot modify a const object — 不允許修改常量對象
14. case outside of switch — 漏掉了case 語句
15. case syntax error — case 語法錯誤
16. code has no effect — 代碼不可能執行到
17. compound statement missing{ — 分程序漏掉"{"
18. conflicting type modifiers — 不明確的類型說明符
19. constant expression required — 要求常量表達式
20. constant out of range in comparison — 在比較中常量超出范圍
21. conversion may lose significant digits — 轉換時會丟失意義的數字
22. conversion of near pointer not allowed — 不允許轉換近指針
23. could not find file 'xxx' — 找不到xxx文件
24. declaration missing ; — 說明缺少";"
25. declaration syntax error — 說明中出現語法錯誤
26. default outside of switch — default 出現在switch語句之外
27. define directive needs an identifier — 定義編譯預處理需要標識符
28. division by zero — 用零作除數
29. do statement must have while — do-while語句中缺少while部分
30. enum syntax error — 枚舉類型語法錯誤
31. enumeration constant syntax error — 枚舉常數語法錯誤
32. error directive :xxx — 錯誤的編譯預處理命令
33. error writing output file — 寫輸出文件錯誤
34. expression syntax error — 表達式語法錯誤
35. extra parameter in call — 調用時出現多餘錯誤
36. file name too long — 文件名太長
37. function call missing ) — 函數調用缺少右括弧
38. fuction definition out of place — 函數定義位置錯誤
39. fuction should return a value — 函數必需返回一個值
40. goto statement missing label — goto語句沒有標號
41. hexadecimal or octal constant too large — 16進制或8進制常數太大
42. illegal character 'x' — 非法字元x
43. illegal initialization — 非法的初始化
44. illegal octal digit — 非法的8進制數字
45. illegal pointer subtraction — 非法的指針相減
46. illegal structure operation — 非法的結構體操作
47. illegal use of floating point — 非法的浮點運算
48. illegal use of pointer — 指針使用非法
49. improper use of a typedefsymbol — 類型定義符號使用不恰當
50. in-line assembly not allowed — 不允許使用行間匯編
51. incompatible storage class — 存儲類別不相容
52. incompatible type conversion — 不相容的類型轉換
53. incorrect number format — 錯誤的數據格式
54. incorrect use of default — default使用不當
55. invalid indirection — 無效的間接運算
56. invalid pointer addition — 指針相加無效
57. irrecible expression tree — 無法執行的表達式運算
58. lvalue required — 需要邏輯值0或非0值
59. macro argument syntax error — 宏參數語法錯誤
60. macro expansion too long — 宏的擴展以後太長
61. mismatched number of parameters in definition — 定義中參數個數不匹配
62. misplaced break — 此處不應出現break語句
63. misplaced continue — 此處不應出現continue語句
64. misplaced decimal point — 此處不應出現小數點
65. misplaced elif directive — 不應編譯預處理elif
66. misplaced else — 此處不應出現else
67. misplaced else directive — 此處不應出現編譯預處理else
68. misplaced endif directive — 此處不應出現編譯預處理endif
69. must be addressable — 必須是可以編址的
70. must take address of memory location — 必須存儲定位的地址
71. no declaration for function 'xxx' — 沒有函數xxx的說明
72. no stack — 缺少堆棧
73. no type information — 沒有類型信息
74. non-portable pointer assignment — 不可移動的指針(地址常數)賦值
75. non-portable pointer comparison — 不可移動的指針(地址常數)比較
76. non-portable pointer conversion — 不可移動的指針(地址常數)轉換
77. not a valid expression format type — 不合法的表達式格式
78. not an allowed type — 不允許使用的類型
79. numeric constant too large — 數值常太大
80. out of memory — 內存不夠用
81. parameter 'xxx' is never used — 能數xxx沒有用到
82. pointer required on left side of -> — 符號->的左邊必須是指針
83. possible use of 'xxx' before definition — 在定義之前就使用了xxx(警告)
84. possibly incorrect assignment — 賦值可能不正確
85. redeclaration of 'xxx' — 重復定義了xxx
86. redefinition of 'xxx' is not identical — xxx的兩次定義不一致
87. register allocation failure — 寄存器定址失敗
88. repeat count needs an lvalue — 重復計數需要邏輯值
89. size of structure or array not known — 結構體或數給大小不確定
90. statement missing ; — 語句後缺少";"
91. structure or union syntax error — 結構體或聯合體語法錯誤
92. structure size too large — 結構體尺寸太大
93. sub scripting missing ] — 下標缺少右方括弧
94. superfluous & with function or array — 函數或數組中有多餘的"&"
95. suspicious pointer conversion — 可疑的指針轉換
96. symbol limit exceeded — 符號超限
97. too few parameters in call — 函數調用時的實參少於函數的參數不
98. too many default cases — default太多(switch語句中一個)
99. too many error or warning messages — 錯誤或警告信息太多
100. too many type in declaration — 說明中類型太多
101. too much auto memory in function — 函數用到的局部存儲太多
102. too much global data defined in file — 文件中全局數據太多
103. two consecutive dots — 兩個連續的句點
104. type mismatch in parameter xxx — 參數xxx類型不匹配
105. type mismatch in redeclaration of 'xxx' — xxx重定義的類型不匹配
106. unable to create output file 'xxx' — 無法建立輸出文件xxx
107. unable to open include file 'xxx' — 無法打開被包含的文件xxx
108. unable to open input file 'xxx' — 無法打開輸入文件xxx
109. undefined label 'xxx' — 沒有定義的標號xxx
110. undefined structure 'xxx' — 沒有定義的結構xxx
111. undefined symbol 'xxx' — 沒有定義的符號xxx
112. unexpected end of file in comment started on line xxx — 從xxx行開始的註解尚未結束文件不能結束
113. unexpected end of file in conditional started on line xxx — 從xxx 開始的條件語句尚未結束文件不能結束
114. unknown assemble instruction — 未知的匯編結構
115. unknown option — 未知的操作
116. unknown preprocessor directive: 'xxx' — 不認識的預處理命令xxx
117. unreachable code — 無路可達的代碼
118. unterminated string or character constant — 字元串缺少引號
119. user break — 用戶強行中斷了程序
120. void functions may not return a value — void類型的函數不應有返回值
121. wrong number of arguments — 調用函數的參數數目錯
122. 'xxx' not an argument — xxx不是參數
123. 'xxx' not part of structure — xxx不是結構體的一部分
124. xxx statement missing ( — xxx語句缺少左括弧
125. xxx statement missing ) — xxx語句缺少右括弧
126. xxx statement missing ; — xxx缺少分號
127. xxx' declared but never used — 說明了xxx但沒有使用
128. xxx' is assigned a value which is never used — 給xxx賦了值但未用過
❸ c語言中,為什麼會報這樣的錯
1、一般是你在調用函數的時候傳遞的是int類型的數據,但那個函數定義的參數類型不是int(比如是結構或者指針或者數組)。
2、下面為c語言的錯誤大全及中文解釋:
1: ambiguous operators need parentheses — 不明確的運算需要用括弧括起
2: ambiguous symbol xxx — 不明確的符號
3: argument list syntax error — 參數表語法錯誤
4: array bounds missing — 丟失數組界限符
5: array size toolarge — 數組尺寸太大
6: bad character in paramenters — 參數中有不適當的字元
7: bad file name format in include directive — 包含命令中文件名格式不正確
8: bad ifdef directive synatax — 編譯預處理ifdef有語法錯
9: bad undef directive syntax — 編譯預處理undef有語法錯
10: bit field too large — 位欄位太長
11: call of non-function — 調用未定義的函數
12: call to function with no prototype — 調用函數時沒有函數的說明
13: cannot modify a const object — 不允許修改常量對象
14: case outside of switch — 漏掉了case 語句
15: case syntax error — case 語法錯誤
16: code has no effect — 代碼不可能執行到
17: compound statement missing{ — 分程序漏掉"{"
18: conflicting type modifiers — 不明確的類型說明符
19: constant expression required — 要求常量表達式
20: constant out of range in comparison — 在比較中常量超出范圍
21: conversion may lose significant digits — 轉換時會丟失意義的數字
22: conversion of near pointer not allowed — 不允許轉換近指針
23: could not find file xxx — 找不到xxx文件
24: declaration missing ; — 說明缺少";"
25: declaration syntax error — 說明中出現語法錯誤
26: default outside of switch — default 出現在switch語句之外
27: define directive needs an identifier — 定義編譯預處理需要標識符
28: division by zero — 用零作除數
29: do statement must have while — do-while語句中缺少while部分
30: enum syntax error — 枚舉類型語法錯誤
31: enumeration constant syntax error — 枚舉常數語法錯誤
32: error directive :xxx — 錯誤的編譯預處理命令
33: error writing output file — 寫輸出文件錯誤
34: expression syntax error — 表達式語法錯誤
35: extra parameter in call — 調用時出現多餘錯誤
36: file name too long — 文件名太長
37: function call missing ) — 函數調用缺少右括弧
38: fuction definition out of place — 函數定義位置錯誤
39: fuction should return a value — 函數必需返回一個值
40: goto statement missing label — goto語句沒有標號
41: hexadecimal or octal constant too large — 16進制或8進制常數太大
42: illegal character x — 非法字元x
43: illegal initialization — 非法的初始化
44: illegal octal digit — 非法的8進制數字 a
45: illegal pointer subtraction — 非法的指針相減
46: illegal structure operation — 非法的結構體操作
47: illegal use of floating point — 非法的浮點運算
48: illegal use of pointer — 指針使用非法
49: improper use of a typedefsymbol — 類型定義符號使用不恰當
50: in-line assembly not allowed — 不允許使用行間匯編
51: incompatible storage class — 存儲類別不相容
52: incompatible type conversion — 不相容的類型轉換
53: incorrect number format — 錯誤的數據格式
54: incorrect use of default — default使用不當
55: invalid indirection — 無效的間接運算
56: invalid pointer addition — 指針相加無效
57: irrecible expression tree — 無法執行的表達式運算
58: lvalue required — 需要邏輯值0或非0值
59: macro argument syntax error — 宏參數語法錯誤
60: macro expansion too long — 宏的擴展以後太長
61: mismatched number of parameters in definition — 定義中參數個數不匹配
62: misplaced break — 此處不應出現break語句
63: misplaced continue — 此處不應出現continue語句
64: misplaced decimal point — 此處不應出現小數點
65: misplaced elif directive — 不應編譯預處理elif
66: misplaced else — 此處不應出現else
67: misplaced else directive — 此處不應出現編譯預處理else
68: misplaced endif directive — 此處不應出現編譯預處理endif
69: must be addressable — 必須是可以編址的
70: must take address of memory location — 必須存儲定位的地址
71: no declaration for function xxx — 沒有函數xxx的說明
72: no stack — 缺少堆棧
73: no type information — 沒有類型信息
74: non-portable pointer assignment — 不可移動的指針(地址常數)賦值
75: non-portable pointer comparison — 不可移動的指針(地址常數)比較
76: non-portable pointer conversion — 不可移動的指針(地址常數)轉換
77: not a valid expression format type — 不合法的表達式格式
78: not an allowed type — 不允許使用的類型
79: numeric constant too large — 數值常太大
80: out of memory — 內存不夠用
81: parameter xxx is never used — 能數xxx沒有用到
82: pointer required on left side of -> — 符號->的左邊必須是指針
83: possible use of xxx before definition — 在定義之前就使用了xxx(警告)
84: possibly incorrect assignment — 賦值可能不正確
85: redeclaration of xxx — 重復定義了xxx
86: redefinition of xxx is not identical — xxx的兩次定義不一致
87: register allocation failure — 寄存器定址失敗
88: repeat count needs an lvalue — 重復計數需要邏輯值
89: size of structure or array not known — 結構體或數給大小不確定
90: statement missing ; — 語句後缺少";"
91: structure or union syntax error — 結構體或聯合體語法錯誤
92: structure size too large — 結構體尺寸太大
93: sub scripting missing ] — 下標缺少右方括弧
94: superfluous & with function or array — 函數或數組中有多餘的"&"
95: suspicious pointer conversion — 可疑的指針轉換
96: symbol limit exceeded — 符號超限
97: too few parameters in call — 函數調用時的實參少於函數的參數不
98: too many default cases — default太多(switch語句中一個)
99: too many error or warning messages — 錯誤或警告信息太多
100: too many type in declaration — 說明中類型太多
101: too much auto memory in function — 函數用到的局部存儲太多
102: too much global data defined in file — 文件中全局數據太多
103: two consecutive dots — 兩個連續的句點
104: type mismatch in parameter xxx — 參數xxx類型不匹配
105: type mismatch in redeclaration of xxx — xxx重定義的類型不匹配
106: unable to create output file xxx — 無法建立輸出文件xxx
107: unable to open include file xxx — 無法打開被包含的文件xxx
108: unable to open input file xxx — 無法打開輸入文件xxx
109: undefined label xxx — 沒有定義的標號xxx
110: undefined structure xxx — 沒有定義的結構xxx
111: undefined symbol xxx — 沒有定義的符號xxx
112: unexpected end of file in comment started on line xxx — 從xxx行開始的註解尚未結束文件不能結束
113: unexpected end of file in conditional started on line xxx — 從xxx 開始的條件語句尚未結束文件不能結束
114: unknown assemble instruction — 未知的匯編結構
115: unknown option — 未知的操作
116: unknown preprocessor directive: xxx — 不認識的預處理命令xxx
117: unreachable code — 無路可達的代碼
118: unterminated string or character constant — 字元串缺少引號
119: user break — 用戶強行中斷了程序
120: void functions may not return a value — void類型的函數不應有返回值
121: wrong number of arguments — 調用函數的參數數目錯
122: xxx not an argument — xxx不是參數
123: xxx not part of structure — xxx不是結構體的一部分
124: xxx statement missing ( — xxx語句缺少左括弧
125: xxx statement missing ) — xxx語句缺少右括弧
126: xxx statement missing ; — xxx缺少分號
127: xxx declared but never used — 說明了xxx但沒有使用
128: xxx is assigned a value which is never used — 給xxx賦了值但未用過