C語言基礎 C語言巨集定義 3 條件編譯

2022-08-30 12:57:10 字數 723 閱讀 7371

上一節我們講解了帶引數和不帶引數的巨集定義, 這次我們來講解條件編譯, 什麼是條件編譯呢? 我們來看看吧

下面我們來看看例子:

#include int main()

else if(a == 5)

else

return 0;

}

上面這種其實就是條件編譯, 但這種條件編譯有乙個問題, 在編譯的時候, 編譯器不會選擇性編譯, 而是全部都編譯進去, 再來判斷條件, 下面我們來看看巨集定義的條件編譯:

#include #define a 10

int main()

巨集定義的條件編譯只能用於巨集定義, 不能用於變數, 而且, 一旦巨集定義滿足其中乙個條件, 那麼就只會編譯這一句**, 而其他的條件就不會參與編譯, 還有就是在寫完條件編譯之後, 一定一定要加上#endif, 否則就和main函式少了乙個大括號一樣, 會出錯.

其他的用法, 比如:

#if define a

code;

#endif

意思是, 如果定義了這個巨集, 那麼就執行code.

#if !define a

code;

#endif

意思是, 如果沒有定義這個巨集, 那麼就執行code.

還有#ifdef和#ifndef和上面兩種用法是一致, 這裡就不多說了~~

好了, 這次我們就講到這裡, 下次我們繼續~~~

C語言 (1) 條件編譯

第一種形式 解釋 如果識別符號被 define語句定義過,則編譯程式段1 否則編譯程式段2 incelud define num ok int main ifdef num printf hello world else printf hello china endif return o 因為已經定...

C語言 09條件編譯

條件編譯的概念 通常我們希望程式的其中一部分 只有在滿足一定的情況下才進行編譯,否則不參與編譯,只有參與編譯的 最終才能被執行 這就是條件編譯 基本用法 if condication01 code01.elif condication02 code02.else code03.endif 1 inc...

c語言(五) 條件控制

決策結構要求程式設計師指定乙個或多個要由程式評估或測試的條件,以及確定條件為真的情況下要執行的一條或多條語句,以及如果條件被確定為可選的其他執行語句確定為假。c程式語言將任何非零和非null值假定為true,並且如果它為零或null,則將其假定為false值。序號宣告與說明 1if語句 if 乙個i...