Hola a todos resulta que estaba dando clases de programación en C, pero nunca me había pasado esto, a la hora de explicar que un arreglo declarado como
arreglo[5]={1,2,3,4,5};
se asignaban 5 enteros al arreglo y no más y que la siguiente sentencia no podía ser válida
a[5]=6;
ya que estabas desbordando el arreglo,
en fin para no alargar las cosas más, hice esa asignación y corrí el siguiente código
#include<stdio.h>
int main(){
int i;
int a[5]={1,2,3,4,5};
a[5]=6;
for(i=0;i<=5;i++){
}
return 0;
}
Resulta que compila sin errores e incluso corre, me salió el tiro por la culata a la hora de dar clases pues estaba cometiendo una equivocacíon y contradicción enorme en caso de que mi compilador fallase o yo mismo haya caído en algún fallo.
Resulta que lo corrí en la máquina de un alumno con otro compilador y me arrojaba el error que yo quería demostrar en clase, habrá algún modo de saber si es correcto o incorrecto? o tendré que reinstalar gcc?