atol函数实现

#include <stdio.h>
long atol(char *s)
{
    long r = 0;
    int neg = 0;
    switch(*s)
    {
        case '-':
            neg = 1;
            /* 这里没有break */
        case '+':
            s++;
            break;
    }
    while(*s >= '0' && *s <= '9')
    {
        int n = *s++ - '0';
        if(neg)
            n = -n;
        r = r * 10 + n;
    }
    return r;
}
int main()
{
    char s[] = "123456";
    printf("%ld", atol(s));
    return 0;
}

运行截图:

猜你喜欢

转载自blog.csdn.net/m0_38015368/article/details/80702322