解释C宏

use*_*651 -1 c c-preprocessor

#define MAX(a,b) ((dx > dy) ? dx : dy)
Run Code Online (Sandbox Code Playgroud)

有人会介意打破((dx> dy)?dx:dy)部分?这来自控制台课程1-60.

Pau*_*ham 8

它大致相当于:

int MAX (int dx, int dy)
{
  if (dx > dy)
    return dx;
  else
    return dy;
}
Run Code Online (Sandbox Code Playgroud)

这也不正确.它应该是:

#define MAX(a,b) ((a)>(b))?(a):(b)
Run Code Online (Sandbox Code Playgroud)