整数转字符串的需求我们一直都有,这里使用递归跟大家演示一下:
上代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
//整数转换为字符串
void f(int n, char a[], int *i)
{
if (n / 10 == 0)//如果小于10了,证明只有一位,终止条件
{
a[(*i)++] = n % 10 + '0';
a[(*i)] = '\0';
}
else
{
f(n / 10, a, i);//递归
a[(*i)++] = n % 10 + '0';
}
}
void main(int argc, char* argv[])
{
char a[10] = {0};
int i = 0;
int n = 0;
puts("\n请输入一个整数:");
scanf("%d" ,&n);
f(n,a, &i);
puts( a);
}
看看效果图: