c语言程序设计预处理,C语言程序设计--宏和预处理

C语言宏

宏定义常量

#include

#define SIZE 100

#define BANNER "WARNING:"

int main(void){

printf("%d\n", SIZE);

printf("%s\n",BANNER);

return 0;

}

6030205675b561d8a2bb884d13081784.png

宏定义数据类型

#include

#define string char*

int main(void){

string banner = "HELLO, WORLD!";

printf("%s\n",banner);

return 0;

}

209d5d26be2ebe05ce7812d2c2837b4a.png

宏定义函数

#include

#include

#define random (rand()%100)

int main(void){

while(1){

int num = random;

printf("%d\n", num);

if (num >= 50){

break;

}

}

return 0;

}

ea06f9af402e98eff8c9927fab6b6688.png

宏定义带参数函数

#include

#include

#define max(a,b) a>b?a:b

int main(void){

int max_num;

max_num = max(10,100);

printf("%d\n",max_num);

max_num = max(10,6);

printf("%d\n",max_num);

return 0;

}

8f2c4b96c12014843daaba7b329a0e2f.png

宏解除定义

#undef xxx

预处理

三个已知

#include //包含文件

#define SIZE 100 //定义宏

#undef SIZE //解除宏定义

条件宏定义

#define MAX 100

#ifdef MAX //如果定义了MAX宏

#undef MAX

#else //否则

#define MAX 10

#endif

#ifndef MIN//如果没有定义MIN

#define MIN 2//定义宏MIN为2

#endif

另外的条件判断

#include

#include

#define MAX_THREAD 10

#if MAX_THREAD > 5

#undef MAX_THREAD

#define MAX_THREAD 5

#endif

int main(void){

printf("%d\n",MAX_THREAD);

return 0;

}

/*同理#else和#elif的用法与else 和else if类似*/

17c44fddbb23538b7f171c546b48be6e.png

最后两个

/*

#error当遇到标准错误时,输出错误消息

#pragma使用标准化方法,向编译器发布特殊的命令到编译器中

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值