[学习资料] 宏定义防止使用时错误

[复制链接]
601|2
 楼主| 星辰大海不退缩 发表于 2023-12-18 10:00 | 显示全部楼层 |阅读模式
宏定义防止使用时错误用小括号包含。
例如:

  1. 1#define ADD(a,b) (a+b)


用do{}while(0)语句包含多语句防止错误,例如:

  1. 1#difne DO(a,b) a+b;\
  2. 2a++;


应用时:

  1. 1if(….)
  2. 2DO(a,b); //产生错误
  3. 3else


解决方法:

  1. 1#define DO(a,b) do{a+b;\
  2. 2a++;}while(0)


Bowclad 发表于 2023-12-19 11:11 来自手机 | 显示全部楼层
加do while
超能电子 发表于 2023-12-19 11:11 | 显示全部楼层
最后一种情况是最容易犯的错误。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

302

主题

2831

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部