思路:
1.将字符串的每个数字提取出来
2.将每个元素后的’\0’(尾巴)去掉
int Myatoi(char *arr)
{
int tmp = 0;
while(*arr!='\0') //当arr[i]为'\0'时,循环结束
{
if(isdigit(*arr)) //判断一下是否为数字 若不为数字 则跳过
{
tmp = tmp*10+(*(arr)-'0');
arr++;
}
else
{
arr++;
}
}
printf("%d\n",tmp);
return tmp;
}
int main()
{
char arr[]="a456 78";
char brr[]="395 ,f4,rt8";
Myatoi(arr);
Myatoi(brr);
}
易错点:当char类型的字符串的元素提取出来后,每个字符后都有'\0' 不是只有字符串结尾有 记得去掉
本文详细解析了如何使用C语言实现atoi函数,从字符串中提取数字并转换为整数的过程。通过具体代码示例,讲解了遍历字符串、判断字符是否为数字以及转换数字的算法思路。
3933

被折叠的 条评论
为什么被折叠?



