可能重复:
嵌套函数在gcc中是否是一件坏事?
据我所知,C语言不允许在其他函数中定义函数。但是下面的代码在gcc中编译和运行时没有任何错误。有人能解释一下原因吗?也可以参考这个链接: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;
}
-pedantic
ж ‡еї—д»ҐеђЇз”Ёж ‡е‡†жЁЎејЏпјЊиї™ж ·ењЁдЅїз”ЁGNU扩展时就会收到и¦е‘ЉгЂ‚ - Christoph