C语言:整数转字符串(递归实现)
输入任意位数的非负整数,将其转化成字符串。例如,输入483,输出字符串"483"。
C语言程序如下:
#include <stdio.h>
#include <string.h>#define N 11char string[N]={'\0'};//定义一个全局字符数组
unsigned int i=0;//定义一个全局整型变量i int main()
{ int convert_to_string(int a);//转换成字符串int n;printf("请输入一个正整数:");scanf("%d",&n);if(n<0){printf("error!");return;}convert_to_string(n); string[i]='\0';//加字符串结束标志puts(string);//输出字符串 return 0;
} int convert_to_string(int a)//转换成字符串
{void f(int b);if(a>=0&&a<10) f(a);elseconvert_to_string(a-convert_to_string(a/10)*10);//函数递归调用 return a;
}void f(int b)
{string[i]=b+48;i++;
}
程序运行结果如下:

请各位大佬多多指正!!!
