1. 程式人生 > >atol函式實現

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;
}

執行截圖: