C语言常见错误提示及解决办法.docx

C语言常见错误提示及解决办法.docx

ID:59547777

大小:96.21 KB

页数:5页

时间:2020-11-10

C语言常见错误提示及解决办法.docx_第1页
C语言常见错误提示及解决办法.docx_第2页
C语言常见错误提示及解决办法.docx_第3页
C语言常见错误提示及解决办法.docx_第4页
C语言常见错误提示及解决办法.docx_第5页
资源描述:

《C语言常见错误提示及解决办法.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言常见错误及解决1.error:invaliduseofvoidexpression,是因为有void型的变量或者函数返回值被使用了。例如:printf("%d",sum(1,2));voidsum(inta,intb){ints=a+b;}这里printf的第二个参数就是void,无法打印就会出现这样的错误。2.errorC2001:newlineinconstant直译:在常量中出现了换行。错误分析:1.①字符串常量、字符常量中是否有换行。2.②在这句语句中,某个字符串常量的尾部是否漏掉了双引号。3.③在这语句中,某个字符创常量

2、中是否出现了双引号字符“"”,但是没有使用转义符“"”。4.④在这句语句中,某个字符常量的尾部是否漏掉了单引号。5.⑤是否在某句语句的尾部,或语句的中间误输入了一个单引号或双引号。3.errorC2015:toomanycharactersinconstant编号:C2015直译:字符常量中的字符太多了。错误分析:单引号表示字符型常量。一般的,单引号中必须有且只能有一个字符(使用转义符时,转义符所表示的字符当作一个字符看待),如果单引号中的字符数多于4个,就会引发这个错误。另外,如果语句中某个字符常量缺少右边的单引号,也会引发这个错误,例

3、如:if(x=='x

4、

5、x=='y'){…}值得注意的是,如果单引号中的字符数是2-4个,编译不报错,输出结果是这几个字母的ASC码作为一个整数(int,4B)整体看待的数字。4.errorC2137:emptycharacterconstant编号:C2137直译:空的字符定义。错误分析:原因是连用了两个单引号,而中间没有任何字符,这是不允许的。5.errorC2018:unknowncharacter'0x##'编号:C2018直译:未知字符‘0x##'。错误分析:0x##是字符ASC码的16进制表示法。这里说的未知字符,通常是指全角符

6、号、字母、数字,或者直接输入了汉字。如果全角字符和汉字用双引号包含起来,则成为字符串常量的一部分,是不会引发这个错误的。6.errorC2041:illegaldigit'#'forbase'8'编号:C2141直译:在八进制中出现了非法的数字‘#'(这个数字#通常是8或者9)。错误分析:如果某个数字常量以“0”开头(单纯的数字0除外),那么编译器会认为这是一个8进制数字。例如:“089”、“078”、“093”都是非法的,而“071”是合法的,等同于是进制中的“57”。7.errorC2065:'xxxx':undeclaredident

7、ifier编号:C2065直译:标识符“xxxx”未定义。错误分析:首先,解释一下什么是标识符。标志符是程序中出现的除关键字之外的词,通常由字母、数字和下划线组成,不能以数字开头,不能与关键字重复,并且区分大小写。变量名、函数名、类名、常量名等等,都是标志符。所有的标志符都必须先定义,后使用。标志符有很多种用途,所以错误也有很多种原因。1.如果“xxxx”是一个变量名,那么通常是程序员忘记了定义这个变量,或者拼写错误、大小写错误所引起的,所以,首先检查变量名是否正确。(关联:变量,变量定义)2.如果“xxxx”是一个函数名,那就怀疑函数名是

8、否没有定义。可能是拼写错误或大小写错误,当然,也有可能是你所调用的函数根本不存在。还有一种可能,你写的函数在你调用所在的函数之后,而你有没有在调用之前对函数原形进行申明。(关联:函数申明与定义,函数原型)3.如果“xxxx”是一个库函数的函数名,比如“sqrt”、“fabs”,那么看看你在cpp文件已开始是否包含了这些库函数所在的头文件(.h文件)。例如,使用“sqrt”函数需要头文件math.h。如果“xxxx”就是“cin”或“cout”,那么一般是没有包含“iostream.h”。(关联:#include,cin,cout)4.如果“

9、xxxx”是一个类名,那么表示这个类没有定义,可能性依然是:根本没有定义这个类,或者拼写错误,或者大小写错误,或者缺少头文件,或者类的使用在申明之前。(关联:类,类定义)5.标志符遵循先申明后使用原则。所以,无论是变量、函数名、类名,都必须先定义,后使用。如使用在前,申明在后,就会引发这个错误。6.C++的作用域也会成为引发这个错误的陷阱。在花括号之内变量,是不能在这个花括号之外使用的。类、函数、if、do(while)、for所引起的花括号都遵循这个规则。(关联:作用域)7.前面某句语句的错误也可能导致编译器误认为这一句有错。如果你前面的

10、变量定义语句有错误,编译器在后面的编译中会认为该变量从来没有定义过,以致后面所有使用这个变量的语句都报这个错误。如果函数申明语句有错误,那么将会引发同样的问题。8.errorC2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。