定义不能放语句中间么?

来源:百度知道 编辑:UC知道 时间:2024/05/30 01:07:03
#include<stdio.h>
main()
{
printf("**********");
int a=12;
}
这个显示错误!
为什么int a=12; 必须放printf("**********"); 的前面呢????定义必须在语句前么?不能在中间?
我用的VC6.0 SP6 不管我编的是C还是C++都是有错误呢!

C语言要求变量声明放到一个语句块的最前面。
C++不要求,你可以把文件后缀名改成cpp,就不会出现错误了

你用的是那个编译器?
很老的 C 编译器要求,所有变量的定义要放在函数的入口。

用新一点的编译器吧,跟不上时代了。

另外,以后提问最好把错误信息发出来,同样的错误信息,你理解的不一定对。

用 vc 6 的话,这样改一下:

#include<stdio.h>
void main()
{
printf("**********");
int a=12;
}

或者:

#include<stdio.h>
int main()
{
printf("**********");
int a=12;

return 0;
}

这样会给一个警告。