atoi函数:
名字来源:ASCII to integer 的缩写。
原型: int atoi(const char *nptr);
函数说明
参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零,
#include <stdio.h>
#include <assert.h>
int is_digit(char ch)
{
if(ch >= '' && ch <= '')
return ;
else
return ;
}
int is_space(char ch)
{
if(ch == ' ' || '\n' == ch || '\t' == ch || '\r' == ch || '\b' == ch || '\f' == ch)
return ;
else
return ;
} int my_atoi(const char *str)
{
assert(str);
int sum = ;
char sign = '+'; while(is_space(*str++)); if(*str == '+' || *str == '-')
sign = *str++; while(is_digit(*str))
{
sum = sum * + *str - '';
str++;
} if(sign == '-')
return -sum;
else
return sum;
}
int main()
{
printf("string: %d\n", my_atoi("+214"));
return ;
}