编译错误syntax error : missing ';' before 'type'原因探寻

 

在VC6中运行以下代码

//main.c

#include

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

 return 0;
}

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

char b;

这一行。
然后将程序改为

//main.c

#include

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程序的时候才会出现.

你可能感兴趣的:(软件)