在vs2010中运行以下代码
//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程序的时候才会出现.