关于c语言宏定义这里是怎么用的?

#defineLED_BLUE\LED1_OFF;\LED2_OFF\LED3_ON把\去掉是变成LED_BLUELED1_OFF;LED2_OFFLED3_ON吗这里L... #define LED_BLUE \ LED1_OFF;\ LED2_OFF\ LED3_ON把\去掉是变成 LED_BLUE LED1_OFF;LED2_OFFLED3_ON 吗这里LED1_OFF;函数加冒号LED2_OFF LED3_ON后面两个不加冒号。1.冒号是做什么的?2.宏定义可以执行多条函数吗? 展开
 我来答
MouseChips
2022-08-01 · TA获得超过157个赞
知道小有建树答主
回答量:169
采纳率:68%
帮助的人:61.5万
展开全部
  1. 那个是分号,不是冒号。这个分号的作用就是函数调用语句末尾的分号

    例如LED_BLUE宏展开后为digitalHi(LED1_GPIO_PORT,LED1_GPIO_PIN);digitalHi(LED2_GPIO_PORT,LED2_GPIO_PIN);digitalLo(LED3_GPIO_PORT,LED3_GPIO_PIN)

    你只需要使用“LED_BLUE;”语句就可以关闭LED1和2,打开LED3。

  2. 宏定义可以执行多条函数,宏定义的本质实际上是文本替换,把宏定义的内容原原本本地替换到宏使用的地方。

  3. 另外,LED2_OFF后面似乎也应该有个分号,否则编译应该会出错的。除非LED2_OFF宏定义里加了分号。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式