當前位置:首頁 » 編程語言 » c語言程序錯誤警告
擴展閱讀
foxmail如何配置公司郵箱 2022-06-27 00:42:36
控制流程圖轉c語言 2022-06-27 00:41:44
聯通修改密碼發什麼簡訊 2022-06-27 00:36:55

c語言程序錯誤警告

發布時間: 2022-05-22 10:07:18

c語言程序警告問題。請幫忙查看程序到底哪裡出錯了。我崩潰了 警告內容:

#include<stdio.h>
#include<math.h>

int main(void)
{
/*
編寫一程序P5346.C實現以下功能
①程序運行時先顯示Please input numbers:,再從鍵盤上讀入一組整數(只考慮int型),數與數之間只使用空格或回車作分隔。
數可正可負,最多10000個,但若讀入的數為-222時,則表示輸入結束且-222不算在該組數內。
②對這一組數按從小到大的順序進行排序。
③將排序後的這一組數輸出到屏幕上,輸出格式為每行6個數,數與數之間使用逗號(,)分隔,兩個逗號之間的寬度(不算逗號)為6且使用左對齊格式。
注意,行尾沒有逗號。
編程可用素材:printf("Please input numbers:")...、printf("\nOutput:\n")...。
程序的運行效果應類似地如圖1所示,其中的100 120 89 72 -19 200 500 210 235 6 24 1234 78 234 -234 -2342 346 23524 7823 -3411 23423 -222是從鍵盤輸入的內容。
*/

int ch, i,j, num[10000], tmp,ct = 0;

printf("Please input numbers:");
for (i = 0; i < 10000; i++)
{
scanf("%d", &ch);
if (ch != -222)
{
num[i] = ch;
ct++;
}

else
{
break;
}
}

for (j = 1; j < ct; j++)
{

for (i = 1; i <= ct - j; i++)
{
if (num[i] < num[i - 1])
{
tmp = num[i];
num[i] = num[i - 1];
num[i - 1] = tmp;
}
}

}

printf("\nOutput:\n");
for (i = 0; i < ct; i++)
{
printf("%-6d",num[i]);
if (((i % 6) != 5) && (i != (ct-1))) //
{
printf(",");
}
else
{
printf("\n");
}
}

return 0;

}

//你用了ct去計數,num[]去存數,所以後面輸出output的時候應將num改成ct就行了,上面的程序改好了

② C語言 警告 什麼意思

沒有聲明變數,用戶定義了int;但應該這樣定義int a;

這個警告的級別要比錯誤小, 也就是說一個程序只有警告是可以運行的, 但是不一定運行的結果是正確的。

在所有編程語言中, 都有"警告"和"錯誤", 錯誤是語法上的錯誤, 這樣導致代碼無法被正確編譯,當然也有鏈接錯誤, 但鏈接錯誤一般是在兩個開發環境移植時出現的問題。

(2)c語言程序錯誤警告擴展閱讀:

int型變數就是一般整型,相當於unsigned int.可以使無符號整數,在C++中,這個表達式的值為32

括弧內為一個逗號表達式,然後把這個逗號表達式的值賦值給x。

逗號表達式的形式一般為:

表達式1,表達式2,表達式3....逗號表達式的求解過程是:

先求解表達式1,再求解表達式2......逗號表達式的值為最後一個表達式的值。

③ 《C語言錯誤和警告對照表》誰有,急需

轉載出處不明,侵刪!
fatal error C1003: error count exceeds number; stopping compilation
中文對照:(編譯錯誤)錯誤太多,停止編譯
分析:修改之前的錯誤,再次編譯
fatal error C1004: unexpected end of file found
中文對照:(編譯錯誤)文件未結束
分析:一個函數或者一個結構定義缺少「}」、或者在一個函數調用或表達式中括弧沒有配對出現、或者注釋符「/…/」不完整等
fatal error C1083: Cannot open include file: 『xxx』: No such file or directory
中文對照:(編譯錯誤)無法打開頭文件xxx:沒有這個文件或路徑
分析:頭文件不存在、或者頭文件拼寫錯誤、或者文件為只讀
fatal error C1903: unable to recover from previous error(s); stopping compilation
中文對照:(編譯錯誤)無法從之前的錯誤中恢復,停止編譯
分析:引起錯誤的原因很多,建議先修改之前的錯誤
error C2001: newline in constant
中文對照:(編譯錯誤)常量中創建新行
分析:字元串常量多行書寫
error C2006: #include expected a filename, found 『identifier』
中文對照:(編譯錯誤)#include命令中需要文件名
分析:一般是頭文件未用一對雙引號或尖括弧括起來,例如「#include stdio.h」
error C2007: #define syntax
中文對照:(編譯錯誤)#define語法錯誤
分析:例如「#define」後缺少宏名,例如「#define」
error C2008: 『xxx』 : unexpected in macro definition
中文對照:(編譯錯誤)宏定義時出現了意外的xxx
分析:宏定義時宏名與替換串之間應有空格,例如「#define TRUE」1」」
error C2009: reuse of macro formal 『identifier』
中文對照:(編譯錯誤)帶參宏的形式參數重復使用
分析:宏定義如有參數不能重名,例如「#define s(a,a) (a*a)」中參數a重復
error C2010: 『character』 : unexpected in macro formal parameter list
中文對照:(編譯錯誤)帶參宏的形式參數表中出現未知字元
分析:例如「#define s(r|) r*r」中參數多了一個字元『|』
error C2014: preprocessor command must start as first nonwhite space
中文對照:(編譯錯誤)預處理命令前面只允許空格
分析:每一條預處理命令都應獨佔一行,不應出現其他非空格字元
error C2015: too many characters in constant
中文對照:(編譯錯誤)常量中包含多個字元
分析:字元型常量的單引號中只能有一個字元,或是以「\」開始的一個轉義字元,例如「char error = 『error』;」
error C2017: illegal escape sequence
中文對照:(編譯錯誤)轉義字元非法
分析:一般是轉義字元位於 』 』 或 」 」 之外,例如「char error = 』 『\n;」
error C2018: unknown character 『0xhh』
中文對照:(編譯錯誤)未知的字元0xhh
分析:一般是輸入了中文標點符號,例如「char error = 『E』;」中「;」為中文標點符號
error C2019: expected preprocessor directive, found 『character』
中文對照:(編譯錯誤)期待預處理命令,但有無效字元
分析:一般是預處理命令的#號後誤輸入其他無效字元,例如「#!define TRUE 1」
error C2021: expected exponent value, not 『character』
中文對照:(編譯錯誤)期待指數值,不能是字元
分析:一般是浮點數的指數表示形式有誤,例如123.456E
error C2039: 『identifier1』 : is not a member of 『identifier2』
中文對照:(編譯錯誤)標識符1不是標識符2的成員
分析:程序錯誤地調用或引用結構體、共用體、類的成員
error C2041: illegal digit 『x』 for base 『n』
中文對照:(編譯錯誤)對於n進制來說數字x非法
分析:一般是八進制或十六進制數表示錯誤,例如「int i = 081;」語句中數字『8』不是八進制的基數
error C2048: more than one default
中文對照:(編譯錯誤)default語句多於一個
分析:switch語句中只能有一個default,刪去多餘的default
error C2050: switch expression not integral
中文對照:(編譯錯誤)switch表達式不是整型的
分析:switch表達式必須是整型(或字元型),例如「switch (「a」)」中表達式為字元串,這是非法的
error C2051: case expression not constant
中文對照:(編譯錯誤)case表達式不是常量
分析:case表達式應為常量表達式,例如「case 「a」」中「」a」」為字元串,這是非法的
error C2052: 『type』 : illegal type for case expression
中文對照:(編譯錯誤)case表達式類型非法
分析:case表達式必須是一個整型常量(包括字元型)
error C2057: expected constant expression
中文對照:(編譯錯誤)期待常量表達式
分析:一般是定義數組時數組長度為變數,例如「int n=10; int a[n];」中n為變數,這是非法的
error C2058: constant expression is not integral
中文對照:(編譯錯誤)常量表達式不是整數
分析:一般是定義數組時數組長度不是整型常量
error C2059: syntax error : 『xxx』
中文對照:(編譯錯誤)『xxx』語法錯誤
分析:引起錯誤的原因很多,可能多加或少加了符號xxx
error C2064: term does not evaluate to a function
中文對照:(編譯錯誤)無法識別函數語言
分析:1、函數參數有誤,表達式可能不正確,例如「sqrt(s(s-a)(s-b)(s-c));」中表達式不正確
2、變數與函數重名或該標識符不是函數,例如「int i,j; j=i();」中i不是函數
error C2065: 『xxx』 : undeclared identifier
中文對照:(編譯錯誤)未定義的標識符xxx
分析:1、如果xxx為cout、cin、scanf、printf、sqrt等,則程序中包含頭文件有誤
2、未定義變數、數組、函數原型等,注意拼寫錯誤或區分大小寫。
error C2078: too many initializers
中文對照:(編譯錯誤)初始值過多
分析:一般是數組初始化時初始值的個數大於數組長度,例如「int b[2]={1,2,3};」
error C2082: redefinition of formal parameter 『xxx』
中文對照:(編譯錯誤)重復定義形式參數xxx
分析:函數首部中的形式參數不能在函數體中再次被定義
error C2084: function 『xxx』 already has a body
中文對照:(編譯錯誤)已定義函數xxx
分析:在VC++早期版本中函數不能重名,6.0版本中支持函數的重載,函數名可以相同但參數不一樣
error C2086: 『xxx』 : redefinition
中文對照:(編譯錯誤)標識符xxx重定義
分析:變數名、數組名重名
error C2087: 『』 : missing subscript
中文對照:(編譯錯誤)下標未知
分析:一般是定義二維數組時未指定第二維的長度,例如「int a[3][];」
error C2100: illegal indirection
中文對照:(編譯錯誤)非法的間接訪問運算符「*」
分析:對非指針變數使用「*」運算
error C2105: 『operator』 needs l-value
中文對照:(編譯錯誤)操作符需要左值
分析:例如「(a+b)++;」語句,「++」運算符無效
error C2106: 『operator』: left operand must be l-value
中文對照:(編譯錯誤)操作符的左操作數必須是左值
分析:例如「a+b=1;」語句,「=」運算符左值必須為變數,不能是表達式
error C2110: cannot add two pointers
中文對照:(編譯錯誤)兩個指針量不能相加
分析:例如「int *pa,*pb,*a; a = pa + pb;」中兩個指針變數不能進行「+」運算
error C2117: 『xxx』 : array bounds overflow
中文對照:(編譯錯誤)數組xxx邊界溢出
分析:一般是字元數組初始化時字元串長度大於字元數組長度,例如「char str[4] = 「abcd」;」
error C2118: negative subscript or subscript is too large
中文對照:(編譯錯誤)下標為負或下標太大
分析:一般是定義數組或引用數組元素時下標不正確
error C2124: divide or mod by zero
中文對照:(編譯錯誤)被零除或對0求余
分析:例如「int i = 1 / 0;」除數為0
error C2133: 『xxx』 : unknown size
中文對照:(編譯錯誤)數組xxx長度未知
分析:一般是定義數組時未初始化也未指定數組長度,例如「int a[];」
error C2137: empty character constant。
中文對照:(編譯錯誤)字元型常量為空
分析:一對單引號「」」中不能沒有任何字元
error C2143: syntax error : missing 『token1』 before 『token2』
error C2146: syntax error : missing 『token1』 before identifier 『identifier』
中文對照:(編譯錯誤)在標識符或語言符號2前漏寫語言符號1
分析:可能缺少「{」、「)」或「;」等語言符號
error C2144: syntax error : missing 『)』 before type 『xxx』
中文對照:(編譯錯誤)在xxx類型前缺少『)』
分析:一般是函數調用時定義了實參的類型
error C2181: illegal else without matching if
中文對照:(編譯錯誤)非法的沒有與if相匹配的else
分析:可能多加了「;」或復合語句沒有使用「{}」
error C2196: case value 『0』 already used
中文對照:(編譯錯誤)case值0已使用
分析:case後常量表達式的值不能重復出現
error C2296: 『%』 : illegal, left operand has type 『float』
error C2297: 『%』 : illegal, right operand has type 『float』
中文對照:(編譯錯誤)%運算的左(右)操作數類型為float,這是非法的
分析:求余運算的對象必須均為int類型,應正確定義變數類型或使用強制類型轉換
error C2371: 『xxx』 : redefinition; different basic types
中文對照:(編譯錯誤)標識符xxx重定義;基類型不同
分析:定義變數、數組等時重名
error C2440: 『=』 : cannot convert from 『char [2]』 to 『char』
中文對照:(編譯錯誤)賦值運算,無法從字元數組轉換為字元
分析:不能用字元串或字元數組對字元型數據賦值,更一般的情況,類型無法轉換
error C2447: missing function header (old-style formal list?)
error C2448: 『』 : function-style initializer appears to be a function definition
中文對照:(編譯錯誤)缺少函數標題(是否是老式的形式表?)
分析:函數定義不正確,函數首部的「( )」後多了分號或者採用了老式的C語言的形參表
error C2450: switch expression of type 『xxx』 is illegal
中文對照:(編譯錯誤)switch表達式為非法的xxx類型
分析:switch表達式類型應為int或char
error C2466: cannot allocate an array of constant size 0
中文對照:(編譯錯誤)不能分配長度為0的數組
分析:一般是定義數組時數組長度為0
error C2601: 『xxx』 : local function definitions are illegal
中文對照:(編譯錯誤)函數xxx定義非法
分析:一般是在一個函數的函數體中定義另一個函數
error C2632: 『type1』 followed by 『type2』 is illegal
中文對照:(編譯錯誤)類型1後緊接著類型2,這是非法的
分析:例如「int float i;」語句
error C2660: 『xxx』 : function does not take n parameters
中文對照:(編譯錯誤)函數xxx不能帶n個參數
分析:調用函數時實參個數不對,例如「sin(x,y);」
error C2664: 『xxx』 : cannot convert parameter n from 『type1』 to 『type2』
中文對照:(編譯錯誤)函數xxx不能將第n個參數從類型1轉換為類型2
分析:一般是函數調用時實參與形參類型不一致
error C2676: binary 『<<』 : 『class istream_withassign』 does not define this operator or a conversion to a type acceptable to the predefined operator
error C2676: binary 『>>』 : 『class ostream_withassign』 does not define this operator or a conversion to a type acceptable to the predefined operator
分析:「>>」、「<<」運算符使用錯誤,例如「cin<< x; cout>>y;」
error C4716: 『xxx』 : must return a value
中文對照:(編譯錯誤)函數xxx必須返回一個值
分析:僅當函數類型為void時,才能使用沒有返回值的返回命令。
fatal error LNK1104: cannot open file 「Debug/Cpp1.exe」
中文對照:(鏈接錯誤)無法打開文件Debug/Cpp1.exe
分析:重新編譯鏈接
fatal error LNK1168: cannot open Debug/Cpp1.exe for writing
中文對照:(鏈接錯誤)不能打開Debug/Cpp1.exe文件,以改寫內容。
分析:一般是Cpp1.exe還在運行,未關閉
fatal error LNK1169: one or more multiply defined symbols found
中文對照:(鏈接錯誤)出現一個或更多的多重定義符號。
分析:一般與error LNK2005一同出現
error LNK2001: unresolved external symbol _main
中文對照:(鏈接錯誤)未處理的外部標識main
分析:一般是main拼寫錯誤,例如「void mian()」
error LNK2005: _main already defined in Cpp1.obj
中文對照:(鏈接錯誤)main函數已經在Cpp1.obj文件中定義
分析:未關閉上一程序的工作空間,導致出現多個main函數
warning C4003: not enough actual parameters for macro 『xxx』
中文對照:(編譯警告)宏xxx沒有足夠的實參
分析:一般是帶參宏展開時未傳入參數
warning C4067: unexpected tokens following preprocessor directive - expected a newline
中文對照:(編譯警告)預處理命令後出現意外的符號 - 期待新行
分析:「#include< iostream.h>;」命令後的「;」為多餘的字元
warning C4091: 」 : ignored on left of 『type』 when no variable is declared
中文對照:(編譯警告)當沒有聲明變數時忽略類型說明
分析:語句「int ;」未定義任何變數,不影響程序執行
warning C4101: 『xxx』 : unreferenced local variable
中文對照:(編譯警告)變數xxx定義了但未使用
分析:可去掉該變數的定義,不影響程序執行
warning C4244: 『=』 : conversion from 『type1』 to 『type2』, possible loss of data
中文對照:(編譯警告)賦值運算,從數據類型1轉換為數據類型2,可能丟失數據
分析:需正確定義變數類型,數據類型1為float或double、數據類型2為int時,結果有可能不正確,數據類型1為double、數據類型2為float時,不影響程序結果,可忽略該警告
warning C4305: 『initializing』 : truncation from 『const double』 to 『float』
中文對照:(編譯警告)初始化,截取雙精度常量為float類型
分析:出現在對float類型變數賦值時,一般不影響最終結果
warning C4390: 『;』 : empty controlled statement found; is this the intent?
中文對照:(編譯警告)『;』控制語句為空語句,是程序的意圖嗎?
分析:if語句的分支或循環控制語句的循環體為空語句,一般是多加了「;」
warning C4508: 『xxx』 : function should return a value; 『void』 return type assumed
中文對照:(編譯警告)函數xxx應有返回值,假定返回類型為void
分析:一般是未定義main函數的類型為void,不影響程序執行
warning C4552: 『operator』 : operator has no effect; expected operator with side-effect
中文對照:(編譯警告)運算符無效果;期待副作用的操作符
分析:例如「i+j;」語句,「+」運算無意義
warning C4553: 『==』 : operator has no effect; did you intend 『=』?
中文對照:(編譯警告)「==」運算符無效;是否為「=」?
分析:例如 「i==j;」 語句,「==」運算無意義
warning C4700: local variable 『xxx』 used without having been initialized
中文對照:(編譯警告)變數xxx在使用前未初始化
分析:變數未賦值,結果有可能不正確,如果變數通過scanf函數賦值,則有可能漏寫「&」運算符,或變數通過cin賦值,語句有誤
warning C4715: 『xxx』 : not all control paths return a value
中文對照:(編譯警告)函數xxx不是所有的控制路徑都有返回值
分析:一般是在函數的if語句中包含return語句,當if語句的條件不成立時沒有返回值
warning C4723: potential divide by 0
中文對照:(編譯警告)有可能被0除
分析:表達式值為0時不能作為除數
warning C4804: 『<』 : unsafe use of type 『bool』 in operation
中文對照:(編譯警告)『<』:不安全的布爾類型的使用
分析:例如關系表達式「0<=x<10」有可能引起邏輯錯誤。

④ 請c語言高手看看下面這個程序哪裡出錯了,編譯後怎麼有一個警告

1)警告的原因是編譯時,編譯器認為p變數沒有賦初值;
2)其實程序中已經在if
else
中對p的初始值進行了處理,但編譯器比較「笨」沒有看出來
3)你可以完全不理會這個警告;
4)如果確實你不想讓編譯器出這樣的警告,在scanf語句前,加上
p
=
0

顯式地為p賦初值

⑤ C語言中的錯誤和警告有什麼區別

錯誤會導致程序無法編譯通過,進而不能運行
而警告是說程序中有些代碼編寫不是非常恰當,不會影響程序編譯,在少數情況下會影響程序運行
一般警告可以忽略,而錯誤是必須要修改的

⑥ 為什麼c語言總是顯示一個錯誤0個警告

這個錯誤是你沒有正確配置VC6的編譯工具路徑,或者你的VC6缺少連接器程序導致的。
最簡單的解決辦法是不要使用VC6.0,這是一個20年前的IDE,已經嚴重過時,不兼容當前的C/C++標准,也不兼容Windows 7以上的操作系統。換用Code::Blocks或Visual Studio等現代IDE。

⑦ C語言程序出錯

scanf()在讀取時不檢查邊界,所以可能會造成內存泄露,所以VS2013提供了scanf_s()來替代,在調用時,必須提供給scanf_s一個數字以表明讀取多少位字元,用法為scanf_s("%c",&letter,sizeof(letter)),否則,即使Ctrl+F7和Ctrl+F5通過了,程序的運行結果也可能與自己所期望大相徑庭的。
如果非要用scanf函數,那麼通過以下兩種方式可以禁止警告:
(1)右擊項目——屬性——C/C++——預處理器——預處理器定義中增加_CRT_SECURE_NO_WARNINGS,然後點確定,退出。
(2)在函數最頂頭進行定義:#define _CRT_SECURE_NO_WARNINGS,也可以禁止報錯警告。

⑧ c語言程序為什麼會出現警告且不顯示輸出結果 怎麼解決啊。。。求大神

看不清楚你的報錯,可能有如下情況的其中一種:你的主函數是int型,需要在函數末尾有一個返回值,一般添加return
0;另一種情況是你的編譯器是VS的,對於scanf函數VS認為是不安全的,可能存在溢出的情況,所以會有警示提醒。

⑨ C語言編程中為什麼明明沒有語法錯誤也沒有邏輯錯誤的,運行過程中經常遇到程序錯誤的警告然後就提示結束

他是說程序運行過程中出現的錯誤警告,不是編譯時的語法警告。原因也有很多,比如內存超出范圍,指針指向了不明地址或者錯誤地址,比如你的代碼裡面聲明了一個unsigned char *ch的指針,而引用的時候使用ch[10]=0x00;此時運行的結果不一定是你預想的結果,改進方法是將聲明改成unsigned char ch[11];

⑩ C語言編程時 都有什麼樣的錯誤提示

Ambiguous operators need parentheses
不明確的運算,需要用括弧括起來

Ambiguous symbol 'xxx'
不明確的符號

Argument list syntax error
參數表語法錯誤

Array bounds missing
丟失數組界限符

Array size too large
數組尺寸太大

Bad character in parameters
參數中有不適當的字元

Bad file name format in include directive
包含命令中文件名格式不正確

Bad ifdef directive syntax
編譯預處理ifdef有語法錯誤

Bad ifndef directive syntax
編譯預處理ifndef有語法錯誤

Bad undef directive syntax
編譯預處理undef有語法錯誤

Call of non-function
調用未定義的函數

Call to function with no prototype
調用函數時沒有函數的說明

Cannot modify a const object
不允許修改常量對象

Case outside of switch
Case 出現在 switch 之外

Case statement missing
漏掉了 Case 語句

Case syntax error
Case 語法錯誤

Case outside of switch
Case 出現在 switch 之外

Case statement missing
漏掉了 Case 語句

Case syntax error
Case 語法錯誤

Code has no effect
代碼不可能執行到

Compound statement missing }
復合語句漏掉了"}"

Conflicting type modifiers
不明確的類型說明符

Constant expression required
要求常量表達式

Constant out of range in comparison
在比較中常量超出范圍

Conversion may lose significant digits
轉換時會掉失有意義的數字

Conversion of near pointer not allowed
不允許轉換返指針

Could not find file 'xxx'
找不到xxx文件

Declaration missing ;
說明缺少分號";"

Declaration syntax error
說明中出現語法錯誤

Default outside of switch
default出現在switch語句之外

Define directive needs an identifier
定義編譯預處理需要標識符

Division by zero
用零作除數

Do statement must have while
do-while語句中缺少while部分

Enum syntax error
枚舉類型語法錯誤

Enumeration constant syntax error
枚舉常數語法錯誤

Error directive: xxx
錯誤的編譯預處理命令

Error writing output file
寫輸出文件錯誤

Expression syntax error
表達式語法錯誤

Extra parameter in call
調用時出現多餘錯誤

File name too long
文件名太長

Function call missing )
函數調用缺少右括弧

Function definition out of place
函數定義位置錯誤

Function should return a value
函數返回一個值

Goto statement missing label
goto 語句沒有標號

Hexadecimal or octal constant too large
16進制或8進制常數太大

Illegal character 'x'
非法字 x

Illegal initialization
非法的初始化

Illegal octal digit
非法的8進制數字

Illegal pointer subtraction
非法的指針相減

Illegal structure operation
非法的結構體操作

Illegal use of pointer
指針使用非法

Improper use of a typedef symbol
類型符號定義使用不恰當

In-line assembly not allowed
不允許使用行間匯編

Incompatible storage class
存儲類別不相容

Incompatible type conversion
不相容的類型轉換

Incorrect number format
錯誤的數據格式

Incorrect use of default
default使用不正確

Invalid indirection
無效的間接運算

Invalid pointer addition
指針相加無效

Irrecible expression tree
無法執行的表達式運算

Lvalur required
需要邏輯值(0或非0值)

Macro argument syntax error
宏參數語法錯誤

Macro expansion too long
宏的擴展以後太長

Mismatched number of parameters in definition
定義中參數個數不匹配

Misplaced break
此處不應出現break語句

Misplaced continue
此處不應出現continue語句

Misplaced decimal point
此處不應出現小數點

Misplaced elif directive
此處不應出現編譯預處理elif

Misplaced else
此處不應出現else

Misplaced else directive
此處不應出現編譯預處理 else

Misplaced endif directive
此處不應出現編譯預處理 endif

Must be addressable
必須是可以編址的

Must take address of memory location
必須存儲定位的地址

No declaration for function 'xxx'
沒有函數 xxx 的說明

No stack
缺少堆棧

No type information
沒有類型信息

Non-portable pointer assignment
不可移動的指針(地址常數)賦值

Non-portable pointer comparison
不可移動的指針(地址常數)比較

Non-portable pointer conversion
不可移動的指針(地址常數)轉換

Not a valid expression format type
不合法的表達式格式

Not an allowed type
不允許使用的類型

Numeric constant too large
數值常數太大

Out of memory
內存不夠用

Parameter 'xxx' is never used
參數 xxx 沒有用到

Pointer required on left side of ->
-> 符號的左邊必須是指針

Possible use of 'xxx' before definition
在定義之前就使用了 xxx(警告)

Possibly incorrect assignment
賦值可能不正確

Redefinition of 'xxx' is not identical
xxx 的兩次定義不一致

Register allocation failure
寄存器定址失敗

Repeat count needs an lvalue
重復計數需要邏輯值

Size of structure or array not known
結構體或數組的大小不確定

Statement missing ;
語句後缺少";"

Structure or union syntax error
結構體或聯合體語法錯誤

Structure size too large
結構體的尺寸太大

Subscripting missing ]
下標缺少右方括弧

Superfluous &with function or array
函數或數組中有多餘的"&"

Suspicious pointer conversion
可疑的指針轉換

Symbol limit exceeded
符號超限

Too few parameters in call
函數調用時的實參少於函數的參數

Too many error or warning messages
錯誤或警告信息太多

Too much auto memory in function
函數中用到的局部存儲太多

Too much global data defined in file
文件中全局數據太多

Too consecutive dots
兩個連續的句點

Type mismatch in parameter xxx
參數xxx類型不匹配

Type mismatch in redeclaration of 'xxx'
xxx 重定義時的類型不匹配

Unable to create output file 'xxx'
無法建立輸出文件 xxx

Unable to open include file 'xxx'
無法打開被包容的文件 xxx

Bit field too large
位欄位太長

Unable to open input file 'xxx'
無法打開輸入文件 xxx

Undefined label 'xxx'
沒有定義的標號 xxx

Undefined structure 'xxx'
沒有定義的結構 xxx

Undefined symbol 'xxx'
沒有定義的符號 xxx

Unexpected end of file in comment started on line xxx
從 xxx 行開始的註解尚未結束,文件不能結束

Unexpected end of file in conditional started on line xxx
從 xxx 行開始的條件語句尚未結束,文件不能結束

Unknown assembler instruction
未知的匯編結構

Unknown option
未知的操作

Unknown preprocessor directive: 'xxx'
不認識的預處理命令 xxx

Unreachable code
無法到達的代碼

Unterminated string or character constant
字元串缺少引號

User break
用戶強行中斷了程序

Void functions may not return a value
void 類型的函數不應有返回值

Wrong number off arguments
調用函數時參數數目錯

'xxx' not an argument
xxx 不是參數

'xxx' not part of structure
xxx 不是結構體的一部分

xxx statement missing (
xxx 語句缺少左括弧

xxx statement missing )
xxx 語句缺少右括弧

xxx statement missing ;
xxx 語句缺少分號

'xxx' declared but never used
說明了 xxx ,但沒有使用

'xxx' is assigned a value which is never used
給 xxx 賦了值,但未用過

Zero length structure
結構體的長度為零