#include <iostream>
using namespace std;
#define MULTIPLY(a, b) a*b
int main(){
cout << MULTIPLY(2+3, 3+5);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我预计这会打印,40因为五乘以八等于四十。为什么会打印16?
因为 C++ 宏不是函数。它们是文本副本,因此这意味着:
cout << 2+3*3+5;
Run Code Online (Sandbox Code Playgroud)
即 2 + (3*3) + 5