现在的位置: 首页 > 综合 > 正文

编译错误syntax error : missing ‘;’ before ‘type’原因探寻(VS 编译C文件)

2013年04月14日 ⁄ 综合 ⁄ 共 561字 ⁄ 字号 评论关闭

在VC6中运行以下代码
////////////////////////////////
//main.c

#include <stdio.h>

int main()
{
 char a[100];
 memset(&a, 0, 100);
 char b;

 return 0;
}

/////////////////////////////////
编译器将会报一个编译错误,
syntax error : missing ';' before 'type'
这个错误出在

char b;

这一行。
然后将程序改为
////////////////////////////////
//main.c

#include <stdio.h>

int main()
{
 char a[100];
 char b;
 memset(&a, 0, 100);

 return 0;
}

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

程序就会顺利通过编译。

经过测试发现
在VC中编译c程序,在一个大括号括起的范围内,如果变量声明放在了函数调用的后面,那么编译的时候就会报错:
syntax error : missing ';' before 'type'

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

这个问题在vc编译c++程序,或者gcc编译c程序的时候都不会出现,仅仅在vc编译c程序的时候才会出现.

抱歉!评论已关闭.