#define max(a,b) a>b?a:b
这个宏有诸多缺点:当调用比如max(3,2)*2时会出现不想要的结果.按理来说,我们想要得到的结果是:3*2=6,但是由于优先级的问题,得到的结果是:3>2*2?a:b即得到答案是4;修改如下:#define MAX(a,b) ((a)>(b)?(a):(b))