C 中是否不允许在 for 中声明变量? 这是代码,
for(int i = 1; i<max; i++)
我收到错误消息,
错误 C2143:语法错误:缺少“;”在“类型”之前
错误 C2065:“i”:未声明的标识符
如果我在 for 循环之前声明变量 i 就可以了,
int i;
for(i = 1; i<max; i++)
我从没想过这么简单的一行代码会出现错误消息。你能帮我解释一下这背后的原因吗?
编辑:
我有 Visual C++ 2010 Express。我正在使用命令行编译器 cl。
更新:
根据回复,我发现 Visual C++ 2010 不支持 C98。
我终于安装了 Visual Studio 2013 Express for Desktop,它支持 C98 并且按预期工作。
感谢大家提供的宝贵信息。
最佳答案
较旧的 MSVC 版本仅支持 c89 标准。
C99 之前的标准,如 c89 不允许在 for-loop-params 中声明变量。
也许使用/TP
选项,这会导致文件以C++模式编译。
关于c - 在 for 语句中声明变量时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21696983/