Cita de: daniyo en 18 Agosto 2012, 23:37 PMYo estoy casi seguro de que no se puede declarar un arreglo con tamaño variable, hay que usar una expresion constant, para eso debes usar memoria dinamica.En C una declaración como esta:
Código (c) [Seleccionar]
printf("dimensi\xA2n de la matriz1:");
scanf("%d",&n);
int matriz1[n][n];
No es valida si se compila según el estándar C90, este requiere que el numero de elementos en un array se indique mediante una expresión constante.
Pero en los dos siguientes estándares de C (C99 y C11) si es posible, a esos arrays donde el numero de elementos se calcula en tiempo de ejecución se les conoce como "variable length arrays" o "VLAs".
Un saludo