实现整数转成字符串
Posted 善良超锅锅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现整数转成字符串相关的知识,希望对你有一定的参考价值。
实现整数转成字符串
题目
用 C 语言实现,将一个整数转成字符串,比如 123 转成“123”。要求不能使用 itoa 等函数。
代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char * itostr(int v)
int a;
if(v < 0)
a = -v;
else
a = v;
char *str = (char*)malloc(32);
memset(str, 0, 32);
int i = 0;
while(a!=0)
int tem = a % 10;
a /= 10;
str[i++] = '0' + tem;
if(v < 0)
str[i++] = '-';
char *str2 = (char*)malloc(i);
int j = 0;
for(; j < i; j++)
str2[j] = str[i-j-1];
//printf("%c", str2[j]);
str2[j] = '\\0';
free(str);
return str2;
int main()
printf("%s\\n", itostr(123));
printf("%s\\n", itostr(-123456));
printf("%s\\n", itostr(2147483647)); // 2*31-1
return 0;
另一种取巧的方法,如果可以使用 sprintf
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char * itostr(int v)
char *str = (char*)malloc(32);
memset(str, 0, 32);
sprintf(str, "%d", v);
return str;
int main()
printf("%s\\n", itostr(123));
printf("%s\\n", itostr(-123456));
printf("%s\\n", itostr(2147483647)); // 2*31-1
return 0;
测试结果相同。
以上是关于实现整数转成字符串的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode-面试算法经典-Java实现008-String to Integer (atoi) (字符串转成整数)