C语言标准c89、c99、c++11。问题:expected an expression ,identifier "i" is undefined

本文介绍了一个在使用英特尔编译器时遇到的问题,即简单的for循环语句出现编译错误的情况。通过调整编译选项为std=c99,解决了这一问题。

     一个很简单的语句:

for (int i=0;i<10;i++)

{

...

}

在使用英特尔编译器的时候却出错,提示:expected an expression 和 identifier "i" is undefined。这看上去很奇怪。

       后来比较在linux使用英特尔编译器时候是用的编译选项,得知,应该是少了std=c99。在visual studio中,则也可以通过方法来设置成C99标准。具体标准,在之前的编译选项中有叙述。

      果然,设置成支持C99后,问题消失。



代码存在错误STM32F10x_Lib_V3.5.0\User\main.c(75): error: #268: declaration may not appear after executable statement in block STM32F10x_Lib_V3.5.0\User\main.c(301): error: #29: expected an expression STM32F10x_Lib_V3.5.0\User\main.c(301): error: #20: identifier "i" is undefined STM32F10x_Lib_V3.5.0\User\main.c(341): error: #29: expected an expression STM32F10x_Lib_V3.5.0\User\main.c(341): error: #20: identifier "i" is undefined STM32F10x_Lib_V3.5.0\User\main.c(388): error: #254: type name is not allowed STM32F10x_Lib_V3.5.0\User\main.c(388): error: #65: expected a ";" STM32F10x_Lib_V3.5.0\User\main.c(388): error: #20: identifier "i" is undefined STM32F10x_Lib_V3.5.0\User\main.c(398): error: #254: type name is not allowed STM32F10x_Lib_V3.5.0\User\main.c(398): error: #65: expected a ";" STM32F10x_Lib_V3.5.0\User\main.c(398): error: #20: identifier "i" is undefined STM32F10x_Lib_V3.5.0\User\main.c(399): error: #254: type name is not allowed STM32F10x_Lib_V3.5.0\User\main.c(399): error: #65: expected a ";" STM32F10x_Lib_V3.5.0\User\main.c(399): error: #20: identifier "j" is undefined STM32F10x_Lib_V3.5.0\User\main.c(405): error: #254: type name is not allowed STM32F10x_Lib_V3.5.0\User\main.c(405): error: #65: expected a ";" STM32F10x_Lib_V3.5.0\User\main.c(405): error: #20: identifier "i" is undefined STM32F10x_Lib_V3.5.0\User\main.c(406): error: #254: type name is not allowed STM32F10x_Lib_V3.5.0\User\main.c(406): error: #65: expected a ";" STM32F10x_Lib_V3.5.0\User\main.c(406): error: #20: identifier "j" is undefined
最新发布
12-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值