先来看一个C++程序(.cpp):

#include <stdio.h>

int fun(int x)
{
	return x * x;
}

int a = fun(10);

int main()
{
	printf("a = %d\n", a);
	return 0;
}
      居然得出了100的结果, 吓我一跳。 


      再看C程序(.c):

#include <stdio.h>

int fun(int x)
{
	return x * x;
}

int a = fun(10);

int main()
{
	printf("a = %d\n", a);
	return 0;
}
     编译错误, 符合我的预期。


     上述编译器都是VC++6.0.   有兴趣的读者可以深究一下。




本文转载:CSDN博客