//Convierte un número entero n en una cadena usando recursividad. Por ejemplo, si ingresa 483, se debería generar la cadena "483". El número de dígitos en n es incierto.
char* function(int a); es una función de conversión. Cuando se obtiene el parámetro entero a, devolverá un puntero char que apunta a la cadena de destino.
El principio de esta función recursiva es:
1) Paso intermedio recursivo: si el parámetro entero actual a no es el dígito de las unidades. . Luego sustituya a/10 en char* function(int a); y espere a que salte la función llamada, luego almacene el bit más bajo del parámetro entero actual a en una cadena.
2) El nivel más bajo de recursividad: si el número entero es unidades, se convertirá directamente en código ASCII y se almacenará en la cadena de caracteres; . Fin de la recursión
#include
char mychar[100];//Defina una matriz de caracteres infinita para almacenar los caracteres generados
int i=0 ; /Inicialización del contador
función char*(int a)//Definir función recursiva
{
if (a<10) // caso base, el más bajo case
{
mychar[i++]=char(48+a); //Convertir a cadena usando código ASCⅡ
return mychar ; regresa y el programa se ejecuta a la siguiente oración de la declaración que lo llamó
}
function(a/10); //Recursivamente, cambia el último dígito del número entero Después de la eliminación , ingrese la función recursiva
mychar[i++]=char(48+a%10); //Convertir a cadena usando código ASCⅡ
return mychar; el programa se ejecuta a la siguiente oración de la declaración que lo llamó
}
void main()
{
char*a;
int num=0;
scanf("%d",&num
a=función(numero); printf("Después de convertir a cadena: %s",a
}
);