Red de conocimientos turísticos - Información de alquiler - Problema de programación en lenguaje C: use punteros como parámetros de función para almacenar y generar cadenas ingresadas desde el teclado en orden inverso. No hay resultados después de ejecutar mi respuesta

Problema de programación en lenguaje C: use punteros como parámetros de función para almacenar y generar cadenas ingresadas desde el teclado en orden inverso. No hay resultados después de ejecutar mi respuesta

Exactamente lo que pretendías

Problema 1: pasas la matriz a con el puntero pt, pero en la función divertida, no usas el puntero, sino que creas una nueva matriz local a;

Pregunta 2: En la función divertida, la matriz b está definida y usted asigna el valor especificando el subíndice, pero falta un terminador '\0'. Si los caracteres están incompletos, Entonces, el terminador de la cadena no se puede determinar al generar. Aquí uso la función memset para inicializar cada carácter en b a '\0'. También puede asignar un valor después del último carácter de b después de que se complete la asignación del bucle. carácter '\0'. Cabe señalar que al definir una matriz de caracteres, si desea colocar 10 caracteres, se recomienda definir el tamaño como 11, porque queda 1 '\0'.

Pregunta 3: Su bucle de asignación para (i = 0; ilt; 10; i), el límite superior de escritura directa es 10, si los caracteres de entrada son menos de 10. Entonces tomará un valor nulo. Aquí utilizo la función strlen para leer la longitud de caracteres de a como límite superior

#includelt;stdio.hgt;

#includelt;string.hgt;

int? main()

{

void?fun(char????* pt);

void? >

char?a[10],*pt;

pt=a;

obtiene(a);

diversión(pt);

puts(a);

retorno?;

}

void?fun(char?* pt)

{

char?b[10]; int?i;

memset(b, '\0', tamaño de(char)*10);

for( i=0; ilt; strlen(pt); i )

b[strlen(pt)-1- i]=pt[i];

strcpy( pt, b) ;

}