码迷,mamicode.com
首页 > 其他好文 > 详细

atoi 函数自实现

时间:2018-12-01 17:08:28      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:数字   atoi   字符   编码   符号   没有   ==   情况   span   

 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 == \t)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\n",val);
33     
34     return 0;
35 }

 

atoi 函数自实现

标签:数字   atoi   字符   编码   符号   没有   ==   情况   span   

原文地址:https://www.cnblogs.com/wangchaomahan/p/10049811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!