MPLAB XIDE的使用问题

2019-03-25 18:43发布

MPLAB X IDE里面,switch语句在case后面不能使用变量吗
switch(Displacement[5])
    {
        case Displacement[0]:
            Run_Section = 0;//加加速段
        break;

像上面这样,报错如下
Interrupt.c:297:9: error: case label does not reduce to an integer constant
         case Displacement[0]:
我记得有些编译器都可以这样用的呀,MPLAB不允许这样吗
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
Li_Lei
1楼-- · 2019-03-25 22:51
case 后面跟变量不行吧,跟逻辑条件是可以的.
dcexpert
2楼-- · 2019-03-26 04:34
印象中case是不可以用变量,只能用整形数进行判断,这样编译器可以产生高效的优化代码,否则不如直接用 if-else了。
asdmaill
3楼-- · 2019-03-26 06:36
不过在keil里可以这么干
freebsder
4楼-- · 2019-03-26 07:11
asdmaill 发表于 2018-11-21 09:13
不过在keil里可以这么干

上keil图和代码。
tianle1010
5楼-- · 2019-03-26 13:06
用常量
小石头110
6楼-- · 2019-03-26 13:42
 精彩回答 2  元偷偷看……

一周热门 更多>