atoi 函数自实现

Posted wangchaomahan

tags:

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

 1 #include <stdio.h>
 2 /*
 3 编码实现字符串转整型的函数(实现函数 atoi 的功能)。如将字符串“123”转化为 123,
 4 “-0123”转化为-123
 5 */
 6 int myatoi(const char *p)
 7 {
 8     int val = 0;
 9     int sign;
10     while(*p ==  ||*p == 	)p++;
11     if(*p == -||*p == +)
12     {
13         sign = (*p == -?-1:1);//必须用括号,= 和 ==  优先级不一样
14         p++;
15     }
16     
17     while(*p-0>=0&&*p-9<=0)
18     {
19         if(*p == 0)//考虑符号 后第一个字符为‘0‘的情况-0123  没有这样的数字吧,直接归0
20             return 0;
21         else
22             val = val*10+(*p-0);    
23         p++;
24     }
25     return sign*val;
26     
27 }
28 int main(void)
29 {
30     char *p = "        -123a44sdfdf";
31     int val = myatoi(p);
32     printf("val = %d
",val);
33     
34     return 0;
35 }

 

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

atoi()函数的实现

模拟实现atoi函数

VSCode自定义代码片段——声明函数

VSCode自定义代码片段8——声明函数

atoi()函数实现

8. 字符串转整数(实现atoi函数) [leetcode 8: String to Integer (atoi)]