#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<assert.h>
_Bool tmp_flag = 0;
int my_atoi(const char*src)
{
long long ret = 0;
int flag = 1;
assert(src != NULL);
while (isspace(*src))
{
src++;
}
if (*src == '-' || *src == '+')
{
if (*src == '-')
flag = -1;
src++;
}
while ((*src) && isdigit(*src))
{
tmp_flag = 1;
if (INT_MAX<ret || INT_MIN>ret)
{
break;
}
ret = ret * 10 + flag*(*src - '0');
src++;
}
if (*src)
{
tmp_flag = 0;
}
return (int)ret;
}
int main()
{
printf("请输入数字字符串:");
char pc[20] = { 0 };
scanf("%s", pc);
int ret = my_atoi(pc);
printf("%d\n", atoi(pc));
if (tmp_flag)
printf("%d\n", ret);
system("pause");
return 0;
}