[英]Output of the following code- macros in c
對於以下代碼,我將獲得輸出-極客。
#include <stdio.h>
#define ISEQUAL(X, Y) X == Y
int main()
{
#if ISEQUAL(X, 0)
printf("Geeks");
#else
printf("Quiz");
#endif
return 0;
}
解釋這種輸出的原因。
條件宏#if ISEQUAL(X, 0)
擴展為#if X == 0
。 預處理結束后,所有未定義的宏均使用默認值0
初始化。 由於尚未定義宏X
,因此將其初始化為0
。 因此,將打印“極客”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.