0
對於下面的代碼,我得到的輸出爲 - Geeks。c中的以下代碼宏的輸出
#include <stdio.h>
#define ISEQUAL(X, Y) X == Y
int main()
{
#if ISEQUAL(X, 0)
printf("Geeks");
#else
printf("Quiz");
#endif
return 0;
}
解釋這種輸出的原因。
注意:你應該**總是**在身體中的parenthetise宏參數。否則,由於_operator優先級_,您可能會得到錯誤的結果。這些通常很難找到。 – Olaf