首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言實例練習

C語言練習實例49:條件編譯(#if #ifdef #ifndef)綜合演示

     編輯:C 語言實例練習

C語言練習實例49:條件編譯(#if #ifdef #ifndef)綜合演示

本實例演示預處理器條件編譯指令控制代碼編輯選擇。

關鍵指令

  • #ifdef MACRO:若定義了 MACRO 則編譯後續代碼至 #else 或 #endif。
  • #ifndef MACRO:若未定義則編譯。
  • #undef MACRO:取消宏定義。
  • #define MACRO:定義宏(無需值)。

源代碼

// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鳥教程. All rights reserved.
//
#include <stdio.h>
#define MAX
#define MAXIMUM(x,y) (x>y)?x:y
#define MINIMUM(x,y) (x>y)?y:x

int main() {
    int a = 10, b = 20;
    #ifdef MAX
        printf("更大的數字是 %d\n", MAXIMUM(a,b));
    #else
        printf("更小的數字是 %d\n", MINIMUM(a,b));
    #endif
    #ifndef MIN
        printf("更小的數字是 %d\n", MINIMUM(a,b));
    #else
        printf("更大的數字是 %d\n", MAXIMUM(a,b));
    #endif
    #undef MAX
    #ifdef MAX
        printf("更大的數字是 %d\n", MAXIMUM(a,b));
    #else
        printf("更小的數字是 %d\n", MINIMUM(a,b));
    #endif
    #define MIN
    #ifndef MIN
        printf("更小的數字是 %d\n", MINIMUM(a,b));
    #else
        printf("更大的數字是 %d\n", MAXIMUM(a,b));
    #endif
    return 0;
}

運行結果

更大的數字是 20
更小的數字是 10
更小的數字是 10
更大的數字是 20

應用場景

跨平台編譯、調試開關、功能裁剪等。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved