http://apps.hi.baidu.com/share/detail/18560172
1。将十进制数字组成的串转化为一个整形数:
将储存最终结果的变量清零
如果串中没有数字了,则算法结束,该变量储存的就是对应的数
从串中取下一个数字(左->右)
将变量*10,然后+步骤3中取得的数字
goto step 2
代码实现:
#include <stdio.h>;
#include <assert.h>;
int _atoi(const char *src)
{
int i=0;
while( *src != '\0') {
assert(*src >;= '0' && *src <= '9');
i = i*10 + *src - '0';
src++;
}
return i;
}
int main(int argc, char **argv)
{
char src[24] = "123456";
printf("%d\n",_atoi(src));
return 0;
}
整型转换为字符串
#include<stdio.h>
void main()
{
int k=12345;
char str[10];
sprintf(str,"%d",k);
printf("%s",str);
}
方法2:将整型数字换为字符串:
初始化字符串为空串
如果整数为0就输出0,结束
将当前整数除以10,得到余数和商
将余数转换成一个字符,把该字符接到字符串尾部
如果商!=0,把它当作新的整形数,repeat step 3~5
将字符串中的字符按放入顺序逆序输出(跟堆栈道理一样)