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

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

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

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

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

A2:初级程序员的解法。

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

猜你喜欢

转载自www.cnblogs.com/parzulpan/p/11247502.html