#define MAX(a, b) (a>b) ? a : b #include<iostream> using namespace std; int main() { int a = 1; int b = 3; int c = MAX(a, ++b); cout << c << endl; system("pause"); } c的输出结果为5. 这是因为 int c = MAX(a, ++b); 被替换成 (a > ++b) ? a: ++b 可用内联函数代替 inline int MAX(int a, int b) { return (a>b) ? a : b; }