一、语法错误及调试
(1)、编译器报告的错误位置,有时会有偏离。
(2)、编译器常常会针对某个错误,发出一系列的错误信息报告。
常见的语法错误:
1、语句末尾漏写分号;
2、使用未经定义的变量;
3、括号不匹配;
4、字符串没有结束符;
5、赋值号左面不是变量;
6、非void类型的函数缺少return语句;
7、没有在printf中指定输出项对应的输出格式;
8、在scanf函数中要么在格式串中使用了非格式字符,要么在格式串中没有使用格式符,要么在输入项的变量前没有使用地址运算符。
二、语义及逻辑错误及其调试
(1)、语义错误指程序对程序中的语义的理解与编译器理解的不同;
(2)、逻辑错误指程序在算法上出现错误。
常见的语义错误:
1、赋值号与等号用错;
2、无限循环;
3、在if、where或for结构后面使用多余的分号;
4、错误地使用了关系运算符;
5、计算或将一个大类型的数转换成小类型时,数据的值超出了表示范围;
6、运算符优先顺序错;
7、else搭配不当;
8、off-by-one(偏一)错误,通常指for循环的次数多或少一次;
9、将无关代码放到循环体中;
10、使用整数除法。
三、语义错误的发现与调试:
语义调试的方法:手工跟踪法和工具法。
手工跟踪法:
1、在if-else语句的前后显示关键变量的值;
2、循环开始的前后和循环结构的前后显示,如关键变量的值和循环变量的值;
3、每次进入函数前后所有参数的变化,每次退出函数前后所有参数的变化。
正文
程序测试--调试2007-04-30 16:54:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/watersky/25364.html
阅读(2724) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论