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
- 将字符串中的字符按放入顺序逆序输出(跟堆栈道理一样)
|