6
Duplicar posible:
Are nested functions a bad thing in gcc ?función que define dentro de una función en C
Por lo que yo sé, C no permite una función que se define dentro de otra función. Pero el siguiente código se compila y se ejecuta sin ningún error en gcc. ¿Alguien puede explicar la razón por qué? Ver esto también: http://ideone.com/AazVK
#include <stdio.h>
void val1(int x)
{
void sig(int x) {
printf("%d\n",x*10);
}
sig(x);
}
int main()
{
void val2(int x) {
x = x*10;
val1(x);
printf("%d\n", x);
if (x < 10000) {
val2(x);
}
}
val2(20);
return 0;
}
Numerosos duplicados, p. Ej. http://stackoverflow.com/questions/2929281/are-nested-functions-a-bad-thing-in-gcc –
agrega el indicador '-pedantic' para habilitar el modo estándar, y recibirás advertencias cuando uses las extensiones gnu – Christoph