/*atoi函数实现*/
#include <stdio.h>
#include <math.h>
#include <ctype.h>
bool mydigit(int ch)
{
if(ch > '0' && ch < '9')
return true;
return false;
}
int str_to_int(const char *str)
{
int int_t = 0;
if(str == NULL)
return 0;
while(*str != '\0')
{
if(!mydigit(*str))
{
return 0;
}
int_t = int_t*10+(*str++ -'0');
}
return int_t;
}
int main(void)
{
int a = 0;
a = str_to_int("7832");
printf("a = %d\n",a);
a = str_to_int("78a32");
printf("a = %d\n",a);
return 0;
}
个人能力有限,不足之处请多多指出,谢谢!