c语言学习5 - 预处理命令

#include <stdio.h>

#define MAX(a, b) ({\
    __typeof(a) _a = (a);\
    __typeof(b)_b = (b);\
    _a > _b ? _a : _b;\
})

#define P(func) {\
    printf("%s = %d\n", #func, func);\
}

int main() {
    int a = 7;
    P(MAX(2, 3));
    P(5 + MAX(2, 3));
    P(MAX(2, MAX(3, 4)));
    P(MAX(2, 3 > 4 ? 3 : 4));
    P(MAX(a++, 6));
    P(a);
    return 0;
}

 

posted @ 2021-07-24 18:09  yiwenzhang  阅读(46)  评论(0编辑  收藏  举报