簡體   English   中英

在c中輸出以下代碼宏

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM