- 浏览: 10759 次
最新评论
C语言常见错误
2009年06月05日
C语言常见错误 -- 六月 -- 编程爱好者博客登陆 | 注册新用户 编程爱好者博客 | 编程爱好者首页 六月
http://blog.pfan.cn/sweajie博主介绍博主:
欢迎进入 套路学习编程
文章分类c语言
c++
所有文章
正文C语言常见错误(2006-7-30 21:15:00)【收藏】 【评论】 【打印】 【关闭】
常见错误锦集
一、编译时的常见错误
1. 数据类型错误。此类错误是初学者编程时的常见现象, 下面是一些要引起注意的错误:
(1) 所有变量和常量必须要加以说明。
(2) 变量只能赋给相同类型的数据。
(3) 对scanf()语句, 用户可能输入错误类型的数据项, 这将导致运行时出错, 并报出错信息。为避免这样的错误出现,
你就提示用户输入正确类型的数据。
(4) 在执行算术运算时要注意:
a. 根据语法规则书写双精度数字。要写0.5, 而不是写.5; 要写1.0, 而不是1。尽管C语言会自动地把整型转换成双精度型,
但书写双精度型是个好习惯。让C语言为你做强行转换这是一种效率不高的程序设计风格。 这有可能导致转换产生错误。
b. 不要用0除。这是一个灾难性的错误, 它会导致程序失败, 不管C 语言的什么版本, 都是如此, 执行除法运算要特别小心。
c. 确保所有的双精度数(包括那些程序输入用的双精度数) 是在实数范围之内。
d. 所有整数必须在整数允许的范围内。这适用于所有计算结果, 包括中间结果。
2. 将函数后面的";"忘掉。此时错误提示色棒将停在该语句下的一行, 并显示:
Statement missing ; in function
3. 给宏指令如#include, #define等语句尾加了";"号。
4. "{"和"}"、"("和")"、"/*"和"*/"不匹配。 引时色棒将位于错误所在的行, 并提示出有关丢掉括号的信息。
5. 没有用#include指令说明头文件, 错误信息提示有关该函数所使用的参数未定义。
6. 使用了Turbo C保留关键字作为标识符, 此时将提示定义了太多数据类型。
7. 将定义变量语句放在了执行语句后面。此时会提示语法错误。
8. 使用了未定义的变量, 此时屏幕显示:
Undefined symbol '' in function
9. 警告错误太多。忽略这些警告错误并不影响程序的执行和结果。 编译时当警告错误数目大于某一规定值时(缺省为100)便退出编译器,
这时应改变集成开发环境Options/Compiler/Errors中的有关警告错误检查开关为off。
10. 将关系符"=="误用作赋值号"="。此时屏幕显示:
Lvalue required in function
二、连接时的常见错误
1. 将Turbo C库函数名写错。这种情况下在连接时将会认为此函数是用户自定义函数。此时屏幕显示:
Undefined symbol '' in
2. 多个文件连接时, 没有在"Project/Project name中指定项目文件 (.PRJ文件), 此时出现找不到函数的错误。
3. 子函数在说明和定义时类型不一致。
4. 程序调用的子函数没有定义。
三、运行时的常见错误
1. 路径名错误。在MS-DOS中, 斜杠(\)表示一个目录名; 而在Turbo C 中斜杠是个某个字符串的一个转义字符, 这样, 在用Turbo C
字符串给出一个路径名时应考虑"\"的转义的作用。例如, 有这样一条语句:
file=fopen("c:\new\tbc.dat", "rb");
目的是打开C盘中NEW目录中的TBC.DAT文件, 但做不到。这里"\"后面紧接的分别是"n"及"t", "\n"及"\t"将被分别编译为换行及tab字符,
DOS将认为它是不正确的文件名而拒绝接受, 因为文件名中不能和换行或tab字符。正确的写法应为:
file=fopen("c:\\new\\tbc.dat", "rb");
2. 格式化输入输出时, 规定的类型与变量本身的类型不一致。例如:
float l;
printf("%c", l);
3. scanf()函数中将变量地址写成变量。例如:
int l;
scanf("%d", l);
4. 循环语句中, 循环控制变量在每次循环未进行修改, 使循环成为无限循环。
5. switch语句中没有使用break语句。
6. 将赋值号"="误用作关系符"=="。
7. 多层条件语句的if和else不配对。
8. 用动态内存分配函数malloc()或calloc()分配的内存区使用完之后, 未用free()函数释放, 会导致函数前几次调用正常,
而后面调用时发生死机现象, 不能返回操作系统。其原因是因为没用空间可供分配, 而占用了操作系统在内存中的某些空间。
9. 使用了动态分配内存不成功的指针, 造成系统破坏。
10. 在对文件操作时, 没有在使用完及时关闭打开的文件。
阅读(1031) | 评论(0)| 复制链接
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论暂无评论
发表评论
您的昵称: 昵称不填为“匿名”
您的Email: (可选)
评论内容:(字数请控制在500字以内)
关于本站 - 网站导航 - 广告服务 - 诚邀加盟 - 联系站长 - 友情链接 - 赞助本站 - 本站博客 Copyright© 1999-2008
Programfan.com. All Rights Reserved网站制作&维护:Hannibal Email: webmaster@pfan.cn 37
发表评论
-
怎样评价学生的习作
2012-01-19 09:39 598怎样评价学生的习作 20 ... -
可爱小弟(六)
2012-01-19 09:39 499可爱小弟(六) 2012年01月15日 ... -
美国孩子的教育(上)
2012-01-19 09:39 625美国孩子的教育(上) 2012年01月05日 对美国初等 ... -
杂乱的文
2012-01-19 09:39 493杂乱的文 2012年01月10日 ... -
小学语文教学随笔
2012-01-19 09:39 540小学语文教学随笔 2011 ... -
proteus VSM常见问题
2012-01-17 02:14 1974proteus VSM常见问题 2011年02月20日 ... -
Google App Engine 2.1
2012-01-17 02:14 598Google App Engine 2.1 2011年01月 ... -
使用Eclipse+CDT+MinGW32进行C++开发
2012-01-17 02:14 626使用Eclipse+CDT+MinGW32进行 ... -
转着记
2012-01-17 02:14 561转着记 2011年10月23日 要想apk去广告,先了解 ... -
C语言笔记!
2012-01-15 21:47 743C语言笔记! 2010年11月27 ... -
c语言
2012-01-15 21:47 710c语言 2009年09月25日 ... -
C语言文件的读写函数
2012-01-15 21:46 1243C语言文件的读写函数 2 ... -
C语言(40)
2012-01-15 21:46 768C语言(40) 2009年06月02日 v\:* {be ...
相关推荐
C语言常见错误小结C语言常见错误小结C语言常见错误小结C语言常见错误小结C语言常见错误小结C语言常见错误小结C语言常见错误小结
C语言常见错误分析C语言常见错误分析C语言常见错误分析
C语言常见错误小结 2008-06-12 10:55:08 C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下 “灵活的余地”,但还是由于这个灵活给程序的调试带来...
c语言常见错误c语言常见错误
C语言常见错误分析C语言常见错误分析
C语言常见错误代码释义C语言常见错误代码释义C语言常见错误代码释义
C语言常见错误提示,学习C语言必备的说!
C语言常见错误提示.doc C语言常见错误提示.doc
C语言常见错误分析汇总C语言常见错误分析汇总C语言常见错误分析汇总C语言常见错误分析汇总C语言常见错误分析汇总C语言常见错误分析汇总
c语言常见错误提示,包括初学者基本的错误,方便深入
C语言常见错误 C语言常见错误 C语言常见错误
C语言常见错误及解决方案32讲
C语言常见错误.txt
C语言常见错误 C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言...
C语言常见错误中英文对照表(已经排版好,直接打印)
C语言常见错误.doc doc文档供初学者学习
C语言常见错误分析和解题技巧
C语言常见错误及解决方法,对C语言学习者有好处.
C语言常见错误和程序调试PPT.ppt
c语言常见错误