c - 解释 C 宏

标签 c c-preprocessor

#define MAX(a,b) ((dx > dy) ? dx : dy)

有人介意分解 ((dx > dy) ? dx : dy) 部分吗? 这来自控制台类(class) 1-60。

最佳答案

大致相当于:

int MAX (int dx, int dy)
{
  if (dx > dy)
    return dx;
  else
    return dy;
}

这也是不正确的。应该是:

#define MAX(a,b) ((a)>(b))?(a):(b)

关于c - 解释 C 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6487845/

相关文章:

c - 更多 GCC 链接时间问题 : undefined reference to main

C 编译器预处理器输出

c- 分配和释放二维数组

c - OpenCL 演示程序可以在一个系统上运行,但不能在其他非常相似的 VirtualBox 系统上运行

c++ - C/C++预处理器宏可以有默认参数值吗?

c - 为什么在 C 中是 `do { ...; exit(...); } while (0)`?

c++ - Visual Studio 的编译器在哪里搜索#includes?

C 预处理器或 C++ 魔法可以自动为每个文件创建一个对象?

c - 在 C/C++ 中处理命令行标志

c - 为什么这两个表达式的结果不同?