• 宏定义中有多条语句,宏定义的使用者在if语句中使用,如果if后面没有写大括号,会导致宏中只有第一条语句是正确执行的。
  • 加入直接在宏定义中加大括号,针对不再if语句中执行的代码会出现编译错误
  • 所以,do {} while(0)的使用时为了保证宏定义的使用者能无编译错误的用宏。