Homework 1

Homework 1

软件工程3班         3015207191             林家乐

Briefly describe an error from your past projects that you have recently completed or an error from other projects which impress you most. State the reason, impact of the error and how did you find it. 

–Submission deadline : 23:59:59 March 13.

–Please post to your blog. 

 

一、数组求和过程中的数组越界:

原因:数组的索引与循环次数之间没有进行预先的比较,导致一个数组定义为有n个元素,那么,对这n个元素(下标为0n-1的元素)的访问都合法,如果对这n个元素之外的访问,就是非法的。

影响:导致最终程序的结果出现错误,与正确的值不相符。

如何发现:在每次求和后,输出变量sum的值,发现在下标为0n-1的元素求和后的sum值均正确。但在从下标n的元素开始,变量sum的值便出现了错误。

二、野指针:

原因:指针变量声明时没有被初始化。

影响:导致程序崩溃。

如何发现:发现该指针指向一个已删除的对象或未申请访问受限的内存区域。

三、if else的匹配问题:

原因:else总是和离它最相近的if匹配。

影响:程序出现逻辑性错误。

如何发现:设计一个测试用例,在每次判断时设置断点,输出当前有效信息,与正确的结果进行对比,从而发现ifelse的匹配错误。

posted @ 2018-03-08 23:33  3015207191  阅读(108)  评论(0编辑  收藏  举报