c - C 中特定 "do while"宏的优点?

标签 c

我遇到过定义如下的宏:

#define CALL_FUNCS(x)
do {
  func1(x);
  func2(x);
  func3(x);
} while (0);

现在,这当然可以工作,但是这比下面的版本更好吗?

#define CALL_FUNCS(x)
{
  func1(x);
  func2(x);
  func3(x);
}

我认为这与宏观优化无关。对此有什么想法吗?

最佳答案

宏实际上不应该有最后的;。这是为了在出现问题时获得有关宏的正常/更预期和有用的语法错误。

关于c - C 中特定 "do while"宏的优点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9200688/

相关文章:

使用有限的类 C 库将科学计数法字符串中的数字转换为 float

c++ - 从 C/C++ 代码中删除注释

c - for循环永远不会在c中结束

c - 为什么 ungetc 在某些字符上会失败?

c++ - CvCaptureFromFile(..) 的源代码

c - 尝试找到 middel 但程序崩溃了 c 中带有两个指针的链表

c - 多线程程序C中的段错误

c - memset 用 'a' 填充文件

c - 如何在没有键盘/触控板的情况下用 C 打开输出文件?

c - C 中的函数和循环问题