闲来无事简单实现以下atoi函数:
int my_atoi(char *str)
{
int i = 0, ret = 0, flag = 1;
if(str != NULL)
{
//判断符号位
if (str[i] == '-')
{
str += 1;
flag = -1;
}
else if(str[i]== '+')
{
str += 1;
}
//计算最大权重
while((str[i] >= '0') && (str[i] <= '9'))
{
i++;
}
if (i != 0)
{
//按权重进行累加
int j = 0;
while(i)
{
int tmp = i,sum = 1;
for( ;tmp > 1; tmp-- )
{
sum *= 10;
}
ret += sum * (str[j] -'0');
j++;
i--;
}
}
}
return flag*ret;
}
本文介绍了如何实现一个简单的C语言版本的atoi函数,该函数从输入字符串中转换整数。首先检查符号,然后计算数字权重并进行累加。此实现考虑了正负号和数字的有效范围。
5万+

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



