新手求指教....为什么同一段代码在VC6.0和TC2.0中执行情况不同?
main()
{
int a=10;
printf("%d\n",a);
int b=20;
printf("%d",b);
}
代码如上,VC6.0能执行正确,TC2.0却编译通不过,代码改成main(){int a=10;int b=20;printf("%d",a);printf("%d",b);}就行了。这是为什么?
[解决办法]
TC2.0是很早期的C语言编译器,这些编译器大都要求所有的变变量声明或定义都要放在一个函数的最前面。
[解决办法]
在C++中,只要变量在使用前声明就行了。而C语言要求,变量的声明要在函数的开头的部分,在其它语句和函数调用的前面。
[解决办法]
VC6.0默认使用C++编译器 把编译器改成C编译器就可以啦
[解决办法]
1楼2楼正确.