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

1322 高质的代码:即考虑边界条件、特殊输入和错误处理

时间:2019-07-25 23:31:46      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:代码   溢出   ret   崩溃   整数   错误处理   倒数第k个节点   while   div   

Q:把一个字符串转换为整数。

A1:一个普通但漏洞百出的解法。

int StrToInt(char* str)
{
    int number = 0;
    while (*str != 0)
    {
        number = number * 10 + *str - 0;
        ++str;
    }
    return number;
}

漏洞:没有考虑输入的字符串中是否有非数字字符或正负号,并不能转换成整数时该如何错误处理;没有考虑溢出;如果传入是空指针,程序将崩溃,代码不够鲁棒。

A2:初级程序员的解法。

 

Q:求链表中的倒数第k个节点。

1322 高质的代码:即考虑边界条件、特殊输入和错误处理

标签:代码   溢出   ret   崩溃   整数   错误处理   倒数第k个节点   while   div   

原文地址:https://www.cnblogs.com/parzulpan/p/11247502.html

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