Red de conocimiento informático - Computadora portátil - Después de ejecutar el programa en lenguaje C, aparece un informe de error en el sistema. Entorno de ejecución VC6.0, emulador win XP.

Después de ejecutar el programa en lenguaje C, aparece un informe de error en el sistema. Entorno de ejecución VC6.0, emulador win XP.

Hola, en el bucle interno de clasificación de burbujas, el valor máximo de la variable i es 6, y el juicio en if aparece i+1, lo que hace que la matriz se salga de los límites, porque la matriz en lenguaje C el subíndice comienza desde A partir de 0 y, a juzgar por su declaración de matriz anterior, el subíndice máximo debe ser 6.

Además, aunque no es un error, al haber dejado libre el primer espacio del array, no es necesario declarar otra n para intercambiar dos números.

Clasificación de burbujas:

for (j = 1; j < 6; j++)

for (i = 1; i < 7-j; i++ )

if (a[i] < a[i+1]) {

//Intercambia a[i] y a[i+1]

}