int my_atoi(char* p){
bool neg_flag = false;// 符号标记
int res = 0;// 结果
if(p[0] == '+' || p[0] == '-')
neg_flag = (*p++ != '+');
while(isdigit(*p)) res = res*10 + (*p++ - '0');
return neg_flag ?0 -res : res;
}
int my_atoi1(char* p){
bool neg_flag = false;// 符号标记
int res = 0;// 结果
if(p[0] == '+' || p[0] == '-')
{
if(*p == '+')
{
neg_flag = false;
}else{
neg_flag = true;
}
p++;
}
while (isdigit(*p))
{
res = res*10;//个位
res = res + *p - '0';//字符数字减'0'就可以得到一个数字
p++;
}
if(neg_flag == true)
{
return 0 -res;
}
return res;
}
int _tmain(int argc, _TCHAR* argv[])
{
char *a = "-3431";
int b = my_atoi1(a);
printf("%d",b);
getchar();
return 0;
}