c语言源程序常见错误分类及其改错Word下载.doc

上传人:wj 文档编号:1451701 上传时间:2023-04-30 格式:DOC 页数:22 大小:63.50KB
下载 相关 举报
c语言源程序常见错误分类及其改错Word下载.doc_第1页
第1页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第2页
第2页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第3页
第3页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第4页
第4页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第5页
第5页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第6页
第6页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第7页
第7页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第8页
第8页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第9页
第9页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第10页
第10页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第11页
第11页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第12页
第12页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第13页
第13页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第14页
第14页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第15页
第15页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第16页
第16页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第17页
第17页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第18页
第18页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第19页
第19页 / 共22页
c语言源程序常见错误分类及其改错Word下载.doc_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言源程序常见错误分类及其改错Word下载.doc

《c语言源程序常见错误分类及其改错Word下载.doc》由会员分享,可在线阅读,更多相关《c语言源程序常见错误分类及其改错Word下载.doc(22页珍藏版)》请在冰点文库上搜索。

c语言源程序常见错误分类及其改错Word下载.doc

’xxxxxx’不是函数参数。

在源程序中将该标识符定义为一个函数参数,但此标识符没有在函数表中出现。

3.Ambiguoussymbol’xxxxxx’

二义性符号’xxxxxx’。

两个或多个结构的某一域名相同,但具有的偏移、类型不同。

在变量或表达式中引用该域而未带结构名时,将产生二义性,此时需修改某个域名或在引用时加上结构名。

4.Argument#missingname

参数#名丢失。

参数名已脱离用于定义函数的函数原型。

如果函数以原型定义,该函数必须包含所有的参数名。

5.Argumentlistsyntaxerror

函数表出现语法错误。

函数调用的参数间必须以逗号隔开,并以一右括号结束。

若源文件中含有一个其后不是逗号也不是右括号的参数,则出错。

6.Arrayboundsmissing

数组的界限符“]”丢失。

在源文件中定义了一个数组,但此数组没有以一右方括号结束。

7.Arraysizetoolarge

数组长度太大。

定义的数组太大,可用内存不够。

8.Assemblerstatementtoolong

汇编语句太长。

内部汇编语句最长不能超过480字节。

9.Badconfigurationfile

配置文件不正确。

TURBOC.CFG配置文件中包含不是合适命令行选择项的非注解文字。

配置文件命令选择项必须以一短横线(-)开始。

10.Badfilenameformatinincludedirective

使用include指令时,文件名格式不正确。

include文件名必须用引号(“filename.h”)或尖括号(<

filename.h>

)括起来,否则将产生此类错误。

如果使用了宏,则产生的扩展正文也不正确(因为无引号)。

11.Badifdefdirectivesyntax

ifdef指令语法错误。

#ifdef必须包含一个标识符(不能是任何其他东西)作为该指令体。

12.Badifndefdirectivesyntax

ifndef指令语法错误。

#ifndef必须包含一个标识符(不能是任何其他东西)作为该指令体。

13.Badundefdirectivesyntax

undef指令语法错误。

#undef指令必须包含一个标识符(不能是任何其他东西)作为该指令体。

14.Badfilesizesyntax

位字段长度语法错误。

一个位字段必须是1-16位的常量表达式。

15.Callofnon-function

调用未定义函数。

正被调用的函数无定义,通常是由于不正确的函数声明或函数名拼错造成的。

16.Cannotmodifyaconstobject

不能修改一个常量对象。

对定义为常量的对象进行不合法操作(如常量赋值)引起此类错误。

17.Caseoutsideofswitch

Case出现在switch外。

编译程序发现Case语句出现在switch语句外面,通常是由于括号不匹配造成的。

18.Casestatementmissing

Case语句漏掉。

Case语句必须包含一以冒号终结的常量表达式。

可能的原因是丢了冒号或在冒号前多了别的符号。

19.Casesyntaxerror

Case语法错误。

Case中包含了一些不正确符号。

20.Characterconstanttoolong

字符常量太长。

字符常量只能是一个或两个字符长。

21.Compoundstatementmissing

复合语句漏掉了大括号“}”。

编译程序扫描到源文件末时。

未发现结束大括号,通常是由于大括号不匹配造成的。

22.Conflictingtypemodifiers

类型修饰符冲突。

对同一指针,只能指定一种变址修饰符(如near或far);

而对于同一函数,也只能给出一种语言修饰符(如cdecl、pascal或interrupt)。

23.Constantexpressionrequired

要求常量表达式。

数组的大小必须是常量,此类错误通常是由于#define常量的拼写出错而引起的。

24.Couldnotfind‘xxxxxxxx.xxx’

找不到‘xxxxxxxx’文件。

编译程序找不到命令行上给出的文件。

25.Declarationmissing

说明漏掉‘;

’。

在源文件中包含了一个struct或union域声明,但后面漏掉了分号(;

)。

26.Declarationneedstypeorstorageclass

说明必须给出类型或存储类。

说明必须包含一个类型或一个存储类。

27.Declarationsyntaxerror

说明出现语法错误。

在源文件中,某个说明丢失了某些符号或有多余的符号。

28.Defaultoutsideofswitch

Default在switch外出现。

编译程序发现default语句出现在switch语句之外,通常是由于括号不匹配造成的。

29.Defaultdirectiveneedsanidentifer

Default指令必须有一个标识符。

#define后面的第一个非空格符必须是一个标识符,若编译程序发现一些其他字符,则出现本错误。

30.DivisionbyZero

除数为零。

源文件的常量表达式中,出现除数为零的情况。

31.Dostatementmusthavewhile

Do语句中必须有while。

源文件中包含一个无while关键字的do语句时,出现此类错误。

32.Do-whilestatementmissing(

Do-while语句中漏掉了“(”。

在do语句中,编译程序发现while关键字后无左括号。

33.Do-whilestatementmissing)

Do-while语句中漏掉了“)”。

在do语句中,编译程序发现while关键字后无右括号。

34.Do-whilestatementmissing;

Do-while语句中漏掉了分号。

在do语句中的条件表达式中,编译程序发现右括号后面无分号。

35.DuplicateCase

Case后的常量表达式重复。

switch语句的每个case必须有一个唯一的常量表达式值。

36.Enumsyntaxerror

Enum语法出现错误。

enum说明的标识符表的格式不对。

37.Enumerationconstantsyntaxerror

枚举常量语法错误。

赋给enum类型变量的表达式值不为常量。

38.ErrorDirective:

xxx

Error指令:

xxx。

源文件处理#error指令时,显示该指令的信息。

39.Errorwritingoutputfile

写输出文件出现错误。

通常是由于磁盘空间满造成的,尽量删掉一些不必要的文件。

40.Expressionsyntax

表达式语法错误。

当编译程序分析一表达式发现一些严重错误时,出现此类错误,通常是由于两个连续操作符、括号不匹配或缺少括号、前一语句漏掉了分号等引起的。

41.Extraparameterincall

调用时出现多余参数。

调用函数时,其实际参数个数多于函数定义中的参数个数。

42.Extraparameterincalltoxxxxxxxx

调用xxxxxxxx函数时出现了多余的参数。

其中该函数由原型定义。

43.Filenametoolong

文件名太长。

#include指令给出的文件名太长,编译程序无法处理。

DOS下的文件名不能超过64个字符。

44.Forstatementmissing(

For语句漏掉“(”。

编译程序发现在for关键字后缺少左括号。

45.Forstatementmissing)

For语句漏掉“)”。

在for语句中,编译程序发现在控制表达式后缺少右括号。

46.Forstatementmissing;

For语句缺少“;

”。

在for语句中,编译程序发现在某个表达式后缺少分号。

47.Functioncallmissing)

函数调用缺少“)”。

函数调用的参数表有几种语法错误,如左括号漏掉或括号不匹配。

48.Functiondefinitionoutofplace

函数定义位置错误。

函数定义不可出现在另一函数内。

函数内的任何说明,只要以类似于带有一个参数表的函数开始,就被认为是一个函数定义。

49.Functiondoesn’ttakeavariablenumberofargument

函数不接受可变的参数个数。

源文件中的某个函数内使用了va_start宏,此函数不能接受可变数量的参数。

50.Gotostatementmissinglabel

Goto语句缺少标号。

在goto关键字后面必须有一个标识符。

51.Ifstatementmissing(

If语句缺少“(”。

在if语句中,编译程序发现if关键字后面缺少左括号。

52.Ifstatementmissing)

If语句缺少“)”。

在if语句中,编译程序发现测试表达式后缺少右括号。

53.Illegalcharacter‘)’(0xxx)

非法字符‘)’(0xxx)。

编译程序发现输入文件中有一些非法字符。

以十六进制方式打印该字符。

54.Illegalinitialization

非法初始化。

初始化必须是常量表达式或一全局变量extern或static的地址减一常量。

55.Illegaloctaldigit

非法八进制数。

编译程序发现在一个八进制常数中包含了非八进制数字(8或9)。

56.Illegalpointersubtraction

非法指针相减。

这是由于试图以一个非指针变量减去一个指针变量而造成的。

57.Illegalstructureoperation

非法结构操作。

结构只能使用(.)、取地址(&

)和赋值(=)操作符,或作为函数的参数传递。

当编译程序发现结构使用了其他操作符时,出现此类错误。

58.Illegaluseoffloatingpoint

浮点运算非法。

浮点运算操作数不允许出现在移位、按位逻辑操作、条件(?

),间接引用(*)以及其他一些操作符中。

编译程序发现上述操作符中使用了浮点操作数时,出现此类错误。

59.Illegaluseofpointer

指针使用非法。

指针只能在加、减、赋值、比较、间接引用(*)或箭头(→)操作中使用。

如用其他操作符,则出现此类错误。

60.Improperuseofatypedefsymbol

typedef符号使用不当。

源文件中使用了typedef符号,变量应在一个表达式中出现。

检查一下此符号的说明和可能的拼写错误。

61.In-lineassemblynotallowed

内部汇编语句不允许。

源文件中含有直接插入的汇编语句,若在集成环境下进行编译,则出现此类错误。

必须使用TCC命令行编译此源文件。

62.Incompatiblestorageclass

不相容的存储类。

源文件的一个函数定义中使用了extern关键字,而只有static(或根本没有存储类型)允许在函数说明中出现。

extern关键字只能在所有函数外说明。

63.Incompatibletypeconversion

不相容的类型转换。

源文件中试图把一种类型转换成另一种类型。

但这两种类型是不相容的。

如函数与非函数间转换,一种结构或数组与一种标准类型转换、浮点数和指针间转换等。

64.Incorrectcommandlineargument:

xxxxxxxx

不正确的命令行参数:

xxxxxxxx。

编译程序认为此命令行参数是非法的。

65.Incorrectconfigurationfileargument:

不正确的配置文件参数:

编译程序认为此配置文件是非法的。

检查一下前面的短横线(-)。

66.Incorrectnumberformat

不正确的数据格式。

编译程序发现在十六进制数中出现十进制小数点。

67.Incorrectuseofdefault

default使用不正确。

编译程序发现default关键字后缺少冒号。

68.Initializersyntaxerror

初始化语法错误。

初始化过程缺少或多了操作符,括号不匹配或其他一些不正常情况。

69.Invalidindirection

无效的间接运算。

间接运算操作符(*)要求非void指针作为操作分量。

70.Invalidmacroargumentseparator

无效的宏参数分隔符。

在宏定义中,参数必须用逗号相隔。

编译程序发现在参数名后面有其他非法字符时,出现此类错误。

71.Invalidpointeraddition

无效的指针相加。

源程序中试图把两个指针相加。

72.Invaliduseofarrow

箭头使用错。

在箭头(→)操作符后必须跟一标识符。

73.Invaliduseofdot

点(.)操作符使用错。

在点(.)操作符后必须跟一标识符。

74.Lvaluerequired

赋值请求。

赋值操作符的左边必须是一个地址表达式,包括数值变量、指针变量、结构引用域、间接指针和数组分量。

75.Macroargumentsyntaxerror

宏参数语法错误。

宏定义中的参数必须是一个标识符。

编译程序发现所需的参数不是标识符的字符,则出现此类错误。

76.Macroexpansiontoolong

宏扩展太长。

一个宏扩展不能多于4096个字符。

当宏递归扩展自身时,常出现此类错误。

宏不能对自身进行扩展。

77.Maycompileonlyonefilewhenanoutputfilenameisgiven

给出一个输出文件名时,可能只编译一个文件。

在命令行编译中使用-O选择,只允许一个输出文件名。

此时,只编译第一个文件,其他文件被忽略。

78.Mismatchnumberofparametersindefinition

定义中参数个数不匹配。

定义中的参数和函数原型中提供的信息不匹配。

79.Misplacedbreak

break位置错误。

编译程序发现break语句在switch语句或循环结构外。

80.Misplacedcontinue

continue位置错误。

编译程序发现continue语句在循环结构外。

81.Misplaceddecimalpoint

十进制小数点位置错。

编译程序发现浮点常数的指数部分有一个十进制小数点。

82.Misplacedelse

else位置错误。

编译程序发现else语句缺少与之相匹配的if语句。

此类错误的产生,除了由于else多余外,还有可能是由于有多余的分号、漏写了大括号或前面的if语句出现语法错误而引起。

83.Misplacedelifdirective

elif指令位置错。

编译程序没有发现与#elif指令相匹配的#if、#ifdef或#ifndef指令。

84.Misplacedelsedirective

else指令位置错。

编译程序没有发现与#else指令相匹配的#if、#ifdef或#ifndef指令。

85.Misplacedendifdirective

endif指令位置错。

编译程序没有发现与#endif指令相匹配的#if、#ifdef或#ifndef指令。

86.Mustbeaddressable

必须是可编址的。

取址操作符(&

)作用于一个不可编址的对象,如寄存器变量。

87.Musttakeaddressofmemorylocation

必须是内存一地址。

源文件中某一表达式使用了不可编地址操作符(&

),如对寄存器变量。

88.Nofilenameending

无文件名终止符。

在#include语句中,文件名缺少正确的闭引号(”)或尖括号(>

89.Nofilenamesgiven

未给出文件名。

Turbo命令行编译(TCC)中没有任何文件。

编译必须有一文件。

90.Non-portablepointerassignment

对不可移植的指针赋值。

源程序中将一个指针赋给一个非指针,或相反。

但作为特例,允许把常量零值赋给一个指针。

如果比较恰当,可以强行抑制本错误信息。

91.Non-portablepointercomparison

不可移植的指针比较。

源程序中将一个指针和一个非指针(常量零除外)进行比较。

如果比较恰当,应强行抑制本错误信息。

92.Non-portablereturntypeconversion

不可移植的返回类型转换。

在返回语句中的表达式类型与函数说明中的类型不同。

但如果函数的返回表达式是一指针,则可以进行转换。

此时,返回指针的函数可能送回一个常量零,而零被转换成一个适当的指针值。

93.Notanallowedtype

不允许的类型。

在源文件中说明了几种禁止了的类型,如函数返回一个函数或数组。

94.Outofmemory

内存不够。

所有工作内存用完,应

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2