公司笔试喜欢让写这个函数,这里实现一下,欢迎指正:
int my_atoi(const char *str)
{
assert(str != NULL);
int flag = 1;
int result = 0;
while(*str == ' ' || *str == '\n' || *str == '\t')
{
++str;
}
if(*str == '-')
{
flag = -1;
++str;
}
else if(*str == '+')
{
++str;
}
while(*str != '\0')
{
if(*str >= '0' && *str <= '9')
{
result = result*10 + *str - '0';
}
else
{
return flag * result;
}
++str;
}
return flag * result;
}