先来看一个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. 有兴趣的读者可以深究一下。