以前用的是VC6.0,一个很不方便的地方就是所有变量都得在函数开头定义,这样在编到某一部分的时候,如果想定义变量,得翻到开头,再翻回来,有时候都找不着代码在什么地方了。听说VS2003支持C99标准,而C99标准是允许变量放在任何位置定义的。后来又听说VS2005比VS2003好,于是就下载安装了VS2005.把过去的程序拿来一编译,还好,没有任何问题,编译一次成功。可是,当我想在一个函数的执行语句后面定义变量的时候,一编译又报错了!真是崩溃了!VS2005难道不支持C99标准?难道不能在任意位置定义变量?
input4:
xsnum = 0;
int iii;
memset(xs, 0, sizeof(xs));
其中报错的是int iii;这条语句是我故意加上去的,看看能不能在执行语句中定义变量的,结果提示:3>e:\a1\zywb\zywb\zywb.c(266) : error C2143: syntax error : missing ';' before 'type'
第266行就是int iii;
对了,我的是编译成C,文件扩展名为zywb.c也完全是C格式的。
选中文件右键 属性-》 C/C++ -> 高级 -》编译为 里面可以选编译为C 或者C++
C++ 是支持任意地方定义变量,C则不行
VC6 - VS2010 都是这样子的。