在实现atoi函数,首先要明白其作用:将字符串转化为整型
其原型为:int atoi( const char *string );
中心思想:字符减去符号0即为整型
此题原型来自剑指offer,面试官要求应聘者写出atoi模拟函数
应聘者当即写下如下代码:
int my_atoi(const char* str)
{
int n = 0;
while (*str)
{
n = n * 10 + *str-'0';
str++;
}
return n;
}
int main()
{
char arr[] = "1234";
int ret = my_atoi(arr);
printf("%d", ret);
return 0;
}
面试官立马提出一个问题,你是否考虑过为空指针的情况,应聘者立马写下几行代码进行修改:
if(str==NULL)
{
return 0;
}
面试官:当字符串为空时,返回0,那么输入字符为“0”时,返回是什么呢?
应聘者:也是0