第10天C語言(07):條件編譯-基本概念

一、概念
/*
 條件編譯 和 選擇結(jié)構(gòu)if的共同點
    都可以對給定的條件進(jìn)行浦判斷, 添加滿足或者不滿足都可以執(zhí)行特定的控件
條件編譯 和選擇結(jié)構(gòu)的if的區(qū)別
    1.聲明周期不同
     if 運行時
    #if 需要一個明確的結(jié)束符號 #endfif
    2.#if需要一個明確的結(jié)束符 #endif
        為什么需要明確一個明確的結(jié)束符號?
        如果省略去掉 #endif,  知道系統(tǒng)塊不知道條件編譯的范圍,那么會將滿足條件之后的第二條件之后的 所有內(nèi)容都清除
    3.if會將所有的代碼 都編譯到二進(jìn)制中
    #if 只會將滿足條件的部分 一直到下一個條件的編譯到二進(jìn)制中
 
 條件編譯的優(yōu)點
 1.邦小程序的大小
 
 應(yīng)用場景
 用于調(diào)試 和 發(fā)布階段進(jìn)行測試
 調(diào)式階段 : 程序?qū)懙拇a
 發(fā)布階段 : 上傳App Stores的階段
 */
二钓觉、代碼
#include <stdio.h>
#define SCORE 90


#define DEBUG 0 // 0是調(diào)試階段, 1是發(fā)布階段
#if DEBUG == 0
// 調(diào)試階段
#define YHLog(format, ...) printf(format,##__VA_ARGS__)
#else
// 發(fā)布階段
#define YHLog(format, ...)
#endif


int main()
{
    // 條件編譯 和 if非常非常像
    // if選擇結(jié)構(gòu) 會對給定條件進(jìn)行判斷, 如果條件滿足 就執(zhí)行if后面大括號中的內(nèi)容
    // 條件編譯 也一樣, 也會對給定的條件 進(jìn)行判斷, 如果條件滿足 就編譯條件后面的內(nèi)容
    int score = 90;
    if (score == 100) {
        YHLog("NB---\n");
        YHLog("發(fā)朵大紅包\n");
    }
    else  if (score == 90) {
        YHLog("NB---\n");
        YHLog("發(fā)朵小紅包\n");
    }
    else
    {
        YHLog("繼續(xù)加油\n");
        YHLog("別哭\n");
    }
    
    // 預(yù)處理指令什么時候執(zhí)行, 編譯之前
    // 變量什么時候定義? 執(zhí)行了才會定義
    // 注意點 : 條件編譯 不能用來判斷變量, 因為不再同一個生命周期
    // 君生我未生,我生君已老
    // 一般情況下,條件編譯是和 宏定義結(jié)合在一起使用的
#if SCORE == 100
printf("發(fā)朵大紅包\n");
#elif  SCORE == 90
printf("NB\n");
printf("發(fā)朵小紅包\n");
#else
printf("繼續(xù)加油a\n");
printf("別哭\n");
#endif // 作為結(jié)束符號
    

#if DEBUG == 0
        char *name = "lyh";
        char *pwd = "123";
#else
    char *name = NULL;
    char *pwd = NULL;

#endif
    YHLog("name = %s, pwd = %s\n",name,pwd);


    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末千劈,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子凿傅,更是在濱河造成了極大的恐慌萌京,老刑警劉巖泊交,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乳讥,死亡現(xiàn)場離奇詭異柱查,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)雏婶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進(jìn)店門物赶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人留晚,你說我怎么就攤上這事酵紫。” “怎么了错维?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵奖地,是天一觀的道長。 經(jīng)常有香客問我赋焕,道長参歹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任隆判,我火速辦了婚禮犬庇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘侨嘀。我一直安慰自己臭挽,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布咬腕。 她就那樣靜靜地躺著欢峰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涨共。 梳的紋絲不亂的頭發(fā)上纽帖,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天,我揣著相機(jī)與錄音举反,去河邊找鬼懊直。 笑死,一個胖子當(dāng)著我的面吹牛照筑,可吹牛的內(nèi)容都是我干的吹截。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼凝危,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了晨逝?” 一聲冷哼從身側(cè)響起蛾默,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎捉貌,沒想到半個月后支鸡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冬念,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年牧挣,在試婚紗的時候發(fā)現(xiàn)自己被綠了急前。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡瀑构,死狀恐怖裆针,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情寺晌,我是刑警寧澤世吨,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站呻征,受9級特大地震影響耘婚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜陆赋,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一沐祷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧攒岛,春花似錦赖临、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至挠进,卻和暖如春色乾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背领突。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工暖璧, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人君旦。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓澎办,卻偏偏與公主長得像,于是被迫代替她去往敵國和親金砍。 傳聞我的和親對象是個殘疾皇子局蚀,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內(nèi)容