#define是由预处理器进行处理的。预处理指令以#号开头以区分其它语句,因只有一行末尾不需要以;分号结束。
#define PRICE 3.2
int main(){
int num = 100;
float total = PRICE * num; //预处理后将替换为 float total = 3.2 * num;
return 0;
}
其形式为:#define 宏 替换体
宏函数
一、替换体前带#号,#号将会以双引号把替换体包括起来,变成字符串
#define ATM(MONEY) "您帐户的 "#MONEY" 剩余%d元\n"
int main(){
//替换体前加#号,#号将被处理为双引号把替换体包括
int num = 1234;
printf(ATM(MONEY), num); //展开为 "您帐户的 "MONEY" 剩余%d元\n" //相邻的两个字符串会连在一起成为一个字符串
return 0;
}
运行结果为:您帐户的 MONEY 剩余1234元