typedef enum state
{
VAILD,
INVAILD
}STATE;
STATE state = VAILD;
int my_atoi(const char* str)
{
assert(str);
long long ret = 0;
int flag = 1;
while (isspace(*str))
{
str++;
}
if (*str == '-')
{
flag = -1;
str++;
}
if (*str == '+')
{
str++;
}
while (*str)
{
if (isdigit(*str))
{
ret = ret * 10 + (*str - '0')*flag;
if (ret >= INT_MAX || ret <= INT_MIN)
{
ret = 0;
break;
}
str++;
}
else
{
state = INVAILD;
ret = 0;
break;
}
}
return (int)ret;
}
int main()
{
printf("%d", my_atoi("-12334"));
system("pause");
}
模拟atoi
最新推荐文章于 2024-05-24 23:00:02 发布