预定义宏的定义和使用时要小心陷阱 #define max(A,B) ( (A) > (B) ? (A) : (B) ) max(i++,j++); /* wrong */ #define square(x) x*x /* wrong */