回覆列表
  • 1 # 使用者1605103610676

    條件編譯是C語言中預處理部分的內容,它是編譯器編譯程式碼時最先處理的部分,

    條件編譯裡面有判斷語句,比如 #if 、#else 、#elif 及 #endif

    它的意思是如果宏條件符合,編譯器就編譯這段程式碼,否則,編譯器就忽略這段程式碼而不編譯,如

    #define A 0 //把A定義為0

    #if (A > 1)

    printf("A > 1"); //編譯器沒有編譯該語句,該語句不生成彙編程式碼

    #elif (A == 1)

    printf("A == 1"); //編譯器沒有編譯該語句,該語句不生成彙編程式碼

    #else

    printf("A

    #endif

    而 if 語句則不然,if 是 C 語言中的關鍵字,它根據表示式的計算結果來覺定執行那個語句,它裡面的每個分支都編譯了的, 如

    #define A 0

    if (A > 1)

    printf("A > 1"); //編譯器編譯該語句,但因為A == 0 未執行

    else if(A == 1)

    printf("A == 1"); //編譯器編譯該語句,但因為A == 0 未執行

    else

    printf("A

    所以 簡單地講,條件編譯是根據 宏條件 選擇性地編譯語句,它是編譯器在編譯程式碼時完成的;

    條件語句是根據條件表示式選擇性地執行語句,它是在程式執行時進行的。

  • 中秋節和大豐收的關聯?
  • 前任和我訂婚後出軌,找小三、未婚先孕、冷暴力逼我分手,為什麼我心裡還放不下他?