我有这段代码从考试的C + +代码。我们只是想写出程序的输出是什么,我假设输出是'20',但输出是'10'。为什么是这样?宏函数参数中的C++加法
#define func(x) (x*x)-x
int i=3;
int main() {
cout << func(i+2) << endl;
}
如果我把第i + 2在括号中所示:
cout << func((i+2)) << endl;
的输出是 '20' 作为假定的那样。
C++如何处理这段代码,使其返回10而不是20?
宏只做文本替换,'func'不是函数。 –