千古难题!

2019-07-21 08:36发布

各位大佬们你们好!
图1是咱们库函数带的源代码
图2是我自己编写的 为什么不能替换?如果不用#define 形式定义变量 应该怎么定义呢  希望大佬们不吝赐教!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
秋天
1楼-- · 2019-07-21 13:54
本帖最后由 秋天 于 2018-10-24 14:15 编辑

首先看这些宏用在什么地方
[mw_shl_code=c,true]        if(key)
                {                                                   
                        switch(key)
                        {                                 
                                case WKUP_PRES:        //控制蜂鸣器
                                        BEEP=!BEEP;
                                        break;
                                case KEY2_PRES:        //控制LED0翻转
                                        LED0=!LED0;
                                        break;
                                case KEY1_PRES:        //控制LED1翻转         
                                        LED1=!LED1;
                                        break;
                                case KEY0_PRES:        //同时控制LED0,LED1翻转
                                        LED0=!LED0;
                                        LED1=!LED1;
                                        break;
                        }
                }else delay_ms(10); [/mw_shl_code]

查查switch用法 case后面应该用什么?
case 后的常量指的是常量表达式,它必须是整数类型。在一个特定的 switch 语句中,每个 case 常量都必须具有独一无二的值,不可以重复。但是 switch 语句可以包含多个 case 标签。
而你呢?????却把它弄成变量!!!!
我是一名新手
2楼-- · 2019-07-21 15:42
这是咱们的按键实验
peng1554
3楼-- · 2019-07-21 20:28
 精彩回答 2  元偷偷看……
我是一名新手
4楼-- · 2019-07-21 23:56
peng1554 发表于 2018-10-23 19:40
不能那样用。宏不能当初变量被赋值

我直接把它当成普通变量来定义不可以吗?
吃瓜群众
5楼-- · 2019-07-22 01:35
这标题。。UC看多了吧
warship
6楼-- · 2019-07-22 06:32
我是一名新手 发表于 2018-10-23 19:47
我直接把它当成普通变量来定义不可以吗?

如果非要这样,
应该也没有问题。

只不过这两种意义截然不同,
原作是宏定义,符号替换;
后者是定义变量并赋值

一周热门 更多>