在C語言中,可以通過自定義函式來簡化一段程式碼,其實在C語言中有一個專門用來簡化程式碼的方法,那就是在開頭定義巨集。
工具/原料
C-Free
例:
開啟C-Free,新建檔案。
7 【C語言-00】程式設計軟體C-Free的安裝,註冊及使用
輸入以下內容:
#include
#include
#define BLUE SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE FOREGROUND_INTENSITY);
#define RED SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED FOREGROUND_INTENSITY);
#define GREEN SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN FOREGROUND_INTENSITY)
main()
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN FOREGROUND_INTENSITY) ;
printf("更改為:綠色");
BLUE printf("\n藍色");
RED printf("\n紅色");
GREEN ;printf("\n綠色\n");
}
執行結果如圖:
P.S.如下的這條命令是更改控制檯字型顏色的程式碼,詳見《【C語言-22】讓控制檯輸出不同顏色的字元》
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN FOREGROUND_INTENSITY) ;
0 【C語言-22】讓控制檯輸出不同顏色的字元
說明:
巨集宣告的形式為:
#define XXX abcdedfg
這樣聲明後XXX便完全替代了abcdefg;
如例中BLUE完全替代了SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE FOREGROUND_INTENSITY);
其效果與寫出完整程式碼一模一樣:
P.S.例子中主函式中的第一行程式碼是為了與巨集定義作比較,以便於演示,實際是不需要的。
另外,巨集替代的是所有字元程式碼,包括標點符號,因此如果巨集中沒有分號,在程式碼中記得加上,如圖: