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

将一串字符串数字转化为整型数字

时间:2015-05-17 21:43:44      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

上篇文章介绍了itoa函数的实现,今天来说说atoi函数,主要思路是:将字符串从头开始读取,跳过最前面的空格以及其他无用字符;遇到正负号,做标记;之后的字符串,遇到数字则转换,遇到其他字符则直接跳出。好了,贴下代码:

 1 int atoi(char str[])
 2 {
 3         int flag=0;
 4         int num=0;
 5         int i=0;
 6         while(str[i]== ||str[i]==\t)                //判断字符串开头是否为制表符或者空格
 7         {
 8                 i++;
 9         }
10         while(str[i]==-||str[i]==+)                 //判断字符串数字的正负
11                 {
12                         if(str[i]==-)
13                         {
14                                 flag=1;                 //为负的则标记
15                         }
16                         i++;
17                 }
18         while(str[i]!=\0)                             //读字符串直到结尾
19         {
20                 if(str[i]>=0&&str[i]<=9)            //判断字符是否为数字
21                         {
22                                 num=str[i]-0+num*10;  //将字符转化为数字
23                                 i++;
24                         }
25                 else                                    //如果字符串中有其他字符直接跳出
26                         break;
27         }
28         if(flag==1)
29         num=-num;                                       //如果有标记,将数字变为负数
30         printf("%d",num);
31         return 0;
32 }

好了,应该能理解,最关键的在22行,将字符串数字转换为整型数字,OK。

将一串字符串数字转化为整型数字

标签:

原文地址:http://www.cnblogs.com/kingos/p/4510503.html

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