编译时的常见错误

编译时的常见错误

ID:40883664

大小:21.44 KB

页数:6页

时间:2019-08-09

编译时的常见错误_第1页
编译时的常见错误_第2页
编译时的常见错误_第3页
编译时的常见错误_第4页
编译时的常见错误_第5页
资源描述:

《编译时的常见错误》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、编译时的常见错误1.数据类型错误。此类错误是初学者编程时的常见现象,下面是一些要引起注意的错误:(1)所有变量和常量必须要加以说明。(2)变量只能赋给相同类型的数据。(3)对scanf()语句,用户可能输入错误类型的数据项,这将导致运行时出错,并报出错信息。为避免这样的错误出现,你就提示用户输入正确类型的数据。(4)在执行算术运算时要注意:a.根据语法规则书写双精度数字。要写0.5,而不是写.5;要写1.0,而不是1。尽管C语言会自动地把整型转换成双精度型,但书写双精度型是个好习惯。让C语言为你做强行转

2、换这是一种效率不高的程序设计风格。这有可能导致转换产生错误。b.不要用0除。这是一个灾难性的错误,它会导致程序失败,不管C语言的什么版本,都是如此,执行除法运算要特别小心。c.确保所有的双精度数(包括那些程序输入用的双精度数)是在实数范围之内。d.所有整数必须在整数允许的范围内。这适用于所有计算结果,包括中间结果。2.将函数后面的";"忘掉。此时错误提示色棒将停在该语句下的一行,并显示:Statementmissing;infunction<函数名>3.给宏指令如#include,#define等语句尾加了

3、";"号。4."{"和"}"、"("和")"、"/*"和"*/"不匹配。引时色棒将位于错误所在的行,并提示出有关丢掉括号的信息。5.没有用#include指令说明头文件,错误信息提示有关该函数所使用的参数未定义。6.使用了TurboC保留关键字作为标识符,此时将提示定义了太多数据类型。7.将定义变量语句放在了执行语句后面。此时会提示语法错误。8.使用了未定义的变量,此时屏幕显示:Undefinedsymbol'<变量名>'infunction<函数名>9.警告错误太多。忽略这些警告错误并不影响程序的执行和结

4、果。编译时当警告错误数目大于某一规定值时(缺省为100)便退出编译器,这时应改变集成开发环境Options/Compiler/Errors中的有关警告错误检查开关为off。10.将关系符"=="误用作赋值号"="。此时屏幕显示:Lvaluerequiredinfunction<函数名>二、连接时的常见错误1.将TurboC库函数名写错。这种情况下在连接时将会认为此函数是用户自定义函数。此时屏幕显示:Undefinedsymbol'<函数名>'in<程序名>2.多个文件连接时,没有在"Project/Proj

5、ectname中指定项目文件(.PRJ文件),此时出现找不到函数的错误。3.子函数在说明和定义时类型不一致。4.程序调用的子函数没有定义。三、运行时的常见错误1.路径名错误。在MS-DOS中,斜杠()表示一个目录名;而在TurboC中斜杠是个某个字符串的一个转义字符,这样,在用TurboC字符串给出一个路径名时应考虑""的转义的作用。例如,有这样一条语句:file=fopen("c:ewtbc.dat","rb");目的是打开C盘中NEW目录中的TBC.DAT文件,但做不到。这里""后面紧接的分

6、别是"n"及"t",""及"t"将被分别编译为换行及tab字符,DOS将认为它是不正确的文件名而拒绝接受,因为文件名中不能和换行或tab字符。正确的写法应为:file=fopen("c:ew\tbc.dat","rb");2.格式化输入输出时,规定的类型与变量本身的类型不一致。例如:floatl;printf("%c",l);3.scanf()函数中将变量地址写成变量。例如:intl;scanf("%d",l);4.循环语句中,循环控制变量在每次循环未进行修改,使循环成为无限循环。5.swit

7、ch语句中没有使用break语句。6.将赋值号"="误用作关系符"=="。7.多层条件语句的if和else不配对。8.用动态内存分配函数malloc()或calloc()分配的内存区使用完之后,未用free()函数释放,会导致函数前几次调用正常,而后面调用时发生死机现象,不能返回操作系统。其原因是因为没用空间可供分配,而占用了操作系统在内存中的某些空间。9.使用了动态分配内存不成功的指针,造成系统破坏。10.在对文件操作时,没有在使用完及时关闭打开的文件。TurboC(V2.0)编译错误信息编译错误信息  

8、说明:TurboC的源程序错误分为三种类型:致命错误、一般错误和警告。其中,致命错误通常是内部编译出错;一般错误指程序的语法错误、磁盘或内存存取错误或命令行错误等;警告则只是指出一些得怀疑的情况,它并不防止编译的进行。  下面按字母顺序A~Z分别列出致命错误及一般错误信息,英汉对照及处理方法:(一)、致命错误英汉对照及处理方法:A-B致命错误Badcallofin-linefunction(内部函数非法调用)分析

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

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

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