码迷,mamicode.com
首页 > 其他好文 > 详细

单元测试

时间:2015-06-23 06:20:52      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

代码:

#include<iostream>

using namespace std;

 

int Largest(int list[], int length)

{

    int i, max;

    max = list[0];

    for (i = 0; i < length ; i++)

    {

        if (list[i]>max)

        {

            max = list[i];

        }

    }

    return max;

}

 

void main()

{

    int list[5],length;

    int i;

    cin >> length;

    for (i = 0; i < length; i++)

    {

        cin >> list[i];

    }                

    cout << Largest(list, length);

}

 

错误:

max变量要初始化,否则计算机会根据之前的存储情况赋值,或许导致结果错误。i<length,如果是i<(length-1),那么最后一个数将不能被查到。

截图:

①全是正数

 

②全是负数

 

③有正有负

 

 

④最大值重复

 

⑤如果数组长度为0

 

出现的问题:

由上面的测试结果看,当数组长度为0时,结果会出现问题。

解决方案: 

如果用户输入的数组长度为0,就返回0。

改后代码:

#include<iostream>

using namespace std;

int Largest(int list[], int length)
{

    int i, max;

    max = list[0];

    if (length == 0 || list == NULL)

    {

        return 0;

    }

    for (i = 0; i < length ; i++)

    {

        if (list[i]>max)

        {

            max = list[i];

        }

    }

    return max;

}



void main()

{

    int list[5],length;

    int i;

    cin >> length;

    for (i = 0; i < length; i++)

    {

        cin >> list[i];

    }               

    cout << Largest(list, length);

}

 

总结:我们在写程序的时候应该完成一个模块就对一个模块进行测试修改而不是等到全部代码敲完在测试那样会很困难而且时间浪费的更多。

单元测试

标签:

原文地址:http://www.cnblogs.com/dyc940210/p/4594405.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!