自己实现atoi的功能

Posted zzdoit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自己实现atoi的功能相关的知识,希望对你有一定的参考价值。

整理思路:

 

 

#include <stdio.h>
int len(const char *s)
{
    int len = 0;
    while (s[len])
    {
        len++;
    }
    return len;
}
int myPower10(int len)
{
    
    if (len == 0)
        return 1;
    if (len == 1)
        return  10;

    int power = 10;
    for (int i = 1; i < len; i++)
        power *= 10;
    return power;
}
int myCToInt(char c)
{
    c = c - \'0\';
    return c;
}

int myAtoi(const char *s)
{
    int i, volue = 0,lens = len(s);
    for (i = 0; i < lens; i++)
    {        
        volue += myCToInt(s[i]) * myPower10(lens - i - 1);
    }
    return volue;
}

int main()
{
    char a[] = "3321";
    int volue = myAtoi(a);
    printf("%d", volue);
    return 0;
}

运行:

3321

 换一种思路呢:

   

 

  

 

以上是关于自己实现atoi的功能的主要内容,如果未能解决你的问题,请参考以下文章

atoi()函数的原理分析和代码实现

atoi()函数的实现

在 C 中获得“atoi”功能的警告

atoi 函数自实现

创建自己的代码片段(CodeSnippet)

模拟实现qsort atoi函数,小白快来看