我有這段代碼從考試的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'不是函數。 –