学习了一段时间《剑指offer》现在做了一些笔试,现在陆续把笔记上传到博客,方便自己及他人上网查看。
//考虑不同的输入情况
bool g_flag = true;
int atoi(char a[])
{
if (a == NULL)
{
g_flag = false;
return 0;
}
int i=0, sum = 0, digitSign = 1;
char* p = a;
if (*p == '-')
{
digitSign = -1;
p++;
}
while (*p != '\0'&&(*p>='0')&&(*p<='9'))
{
sum = sum * 10 + (*p++) - '0';
if (sum<0x7FFFFFFF && sum>0x80000000)//-2^31~2^31-1
{
sum = 0;
break;
}
}
return digitSign*sum;
}