课堂知识

今天课堂上老师让我们检测下面程序的正确性:

int Largest(int list[],int length) { int i,max; for(i=0;i<length-1;i++) { if(list[i]>max) { max=list[i]; } } return max; }

很明显的是for循环语句中的i<length-1明显不对,然后max没有初始值系统默认的是0;
当然如果全是正整数 没有问题;但是如果全是负数。。。那么max就是0了
所以 负值 max=list[1];这样就可以了 然后就没有什么大的问题了;然后老师让我们输入测试数据 并且记录;
淡然按照我们的想法 输入各种数据得到的结果都是一样的;然后老师就问我们:
1. 万一输入的不是整数怎么办
2.万一输入的是空数组怎么办
这下我蛋疼了 ;完全没有考虑啊 ....让老师这么一说还真是这么一回事;
经过修改后的程序如下:
int Largest(int list[],int length)
  {    
    if(list==null)
{
    return 0;//数组不能为0
}
    else if(length==0)
{
        return 0;//长度不能为0
}
    int i,max;
    max=list[0];
    for(i=0;i<=length-1;i++)
    {
        if(list[i]>max)
        {
            max=list[i];
        }
    }
    return max;
}
这堂课让我深刻认识的编程的严谨性;并且考虑的全面性 ;不能按照自己的想法来怎么着 因为程序是给别人使用的..

转载于:https://www.cnblogs.com/songjingchao/p/3590860.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值