您的位置:首页 > 其它

编译错误syntax error : missing ';' before 'type'

2013-08-20 21:30 405 查看
在vc中运行以下程序:

////////////////////////////////

//test.c

#include<stdio.h>

void main(void)

{

int i;

printf("Hello World/n");

int j;

}

将这个文件保存成了test.c

然后编译的时候会报一个错误:

syntax error : missing ';' before 'type'

仔细看起来所有的语法都似乎是对的,这个问题有点奇怪,如果把文件改成.cpp或者.cc则能正常编译,把“int j;”放在“printf("Hello
World/n")”上也能正常编译。

google了下得到了答案和总结如下:

在VC中编译c程序,在一个大括号括起的范围内,如果变量声明放在了函数调用的后面,那么编译的时候就会报错:

syntax error : missing ';' before 'type'

然后你可以修改为把变量声明放在函数调用之前,就会顺利通过编译。

总结:

在VC中编译程序,如果是ANSI C或者C++,在可执行代码中随时定义变量是允许的,但是在C是不允许的。

这样的错误也体现在VS中,如果使用for (int i = 0; i++; i<10),且你的文件名是.c,编译时也会报错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐