atoi()函数的实现

奋斗吧
奋斗吧
擅长邻域:未填写

标签: atoi()函数的实现 HarmonyOS博客 51CTO博客

2023-05-05 18:24:08 194浏览

atoi()函数的实现,atoi()函数的功能:将字符串转换成整型数;atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回(返回转换后的整型数)。   atoi()函数实现的代码:/* * name:xif * coder:xifan@2010@yahoo.cn * time:


将字符串转换成整型数;atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回(返回转换后的整型数)。

    atoi()函数实现的代码:


1. /*
2. * name:xif
3. * coder:xifan@2010@yahoo.cn
4. * time:08.20.2012
5. * file_name:my_atoi.c
6. * function:int my_atoi(char* pstr)
7. */  
8.   
9. int my_atoi(char* pstr)  
10. {  
11. int Ret_Integer = 0;  
12. int Integer_sign = 1;  
13.       
14. /*
15.     * 判断指针是否为空
16.     */  
17. if(pstr == NULL)  
18.     {  
19. "Pointer is NULL\n");  
20. return 0;  
21.     }  
22.       
23. /*
24.     * 跳过前面的空格字符
25.     */  
26. while(isspace(*pstr) == 0)  
27.     {  
28.         pstr++;  
29.     }  
30.       
31. /*
32.     * 判断正负号
33.     * 如果是正号,指针指向下一个字符
34.     * 如果是符号,把符号标记为Integer_sign置-1,然后再把指针指向下一个字符
35.     */  
36. if(*pstr == '-')  
37.     {  
38.         Integer_sign = -1;  
39.     }  
40. if(*pstr == '-' || *pstr == '+')  
41.     {  
42.         pstr++;  
43.     }  
44.       
45. /*
46.     * 把数字字符串逐个转换成整数,并把最后转换好的整数赋给Ret_Integer
47.     */  
48. while(*pstr >= '0' && *pstr <= '9')  
49.     {  
50. '0';  
51.         pstr++;  
52.     }  
53.     Ret_Integer = Integer_sign * Ret_Integer;  
54.       
55. return Ret_Integer;  
56. }


    现在贴出运行my_atoi()的结果,定义的主函数为:int  main  ()

1. int main()  
2. {  
3. char a[] = "-100";  
4. char b[] = "456";  
5. int c = 0;  
6.       
7. int my_atoi(char*);   
8.   
9.     c = atoi(a) + atoi(b);  
10.       
11. "atoi(a)=%d\n",atoi(a));  
12. "atoi(b)=%d\n",atoi(b));  
13. "c = %d\n",c);  
14.   
15. return 0;  
16. }



    运行结果:


atoi()函数的实现_测试

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695