当前位置: 代码迷 >> 单片机 >> 新手请问switch case语法有关问题
  详细解决方案

新手请问switch case语法有关问题

热度:98   发布时间:2016-04-28 14:54:23.0
新手请教switch case语法问题
本帖最后由 zhouboat 于 2014-07-30 16:15:35 编辑
sbit P14=P1^4;
sbit P15=P1^5;
sbit P16=P1^6;
sbit P17=P1^7;

display()
{...}

switch(0)
{
case(P14):display(1);break;
case(P15):display(2);break;
case(P16):display(3);break;
case(P17):display(4);break;
}

错误提示:error C221: non-constant case/dim expression

本意是按下一个开关,P1.4为低电平,其值为0,这是怎么回事呢?
------解决方案--------------------
你这四个case的结果不是0就是1,很明显重复了呀
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

switch(0)
是什么用法,switch 后面要一个变量吧,你给一个常量


只能是常量吧?不能是变量。


应该是变量和常量都可以,没有报错。


嗯,switch 处用常量语法上没什么问题,但是没有实际的意义。
case 后一定要用常量,不能用变量的。
  相关解决方案