编写一个函数,将数字字符转换为整型.
int ascii_to_integer(char* str);
这个字符串必须包含一个或多个数字,函数把数字字符转换为整数数字并且返回整数。
技巧:每个数字把当前值*10 并且和新数字所代表的值相加。
函数实现如下:
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
int my_atoi(char *str)
{
int flag = 1; //判断正负
int sum = 0;
while(*str != '\0') //处理空白字符
{
if(isspace(*str))
str++;
else
break;
}
if(*str == '-')
flag = -1;
if(*str == '-' || *str == '+')
str++;
while(*str != '\0')
{
sum = sum *10 +*str-'0';
str++;
}
return sum*flag;
}
ps:字符‘0’和整数0 的区别。