Red de conocimiento informático - Computadora portátil - Acerca del problema del lenguaje c de gets (problema de entrada)

Acerca del problema del lenguaje c de gets (problema de entrada)

Esto se debe a que el programa solo toma la parte frontal del número al leer el número, dejando el retorno de carro posterior en el búfer del teclado, por lo que finaliza al leer la siguiente cadena, lo que significa que el programa lee una cadena vacía. Además, al copiar la cadena siguiente, no hay ningún terminador para copiar la cadena. El siguiente código corrige estos problemas.

#Incluye

#Incluye

int main()

{ int n, m, j

scanf("d ", ampn);

char a[n 1] //Hay cambios.

getchar(); //Hay cambios. Lea retornos de carro adicionales.

Get(a); //Lee una cadena con una longitud máxima de n.

scanf("d ", ampm);

char b[m 1] //Hay un cambio.

for(j = 0;j ltn-m 1;j)

{ b[j]= a[j m-1];

}

b[j]= '\0';

printf("s",b);

Devuelve 0; //Hay un cambio.

}