[C言語] Cプログラミングの落とし穴 6.2 マクロは関数ではない P84

『Cプログラミングの落とし穴』(A.コーニグ, 1990)
[M1 Mac, Big Sur 11.7.2, clang 13.0.0, NO IDE]

少しずつ読み進めています。

#include <stdio.h>

#define abs(x) (((x) >= 0) ? (x):-(x))
#define max(a,b) ((a) > (b) ? (a):(b))

int main() {
    int a = -10;
    int a_abs = abs(a);

    int b = 100;
    int ab_max = max(a, b);

    printf("a_abs : %d\n", a_abs);
    printf("ab_max : %d\n", ab_max);

    return 0;
}
a_abs : 10
ab_max : 100