【C语言】高级宏定义 [ 编程杂谈 ]
大数据男孩 文章 正文
明妃
{{nature("2022-08-14 17:23:18")}}更新宏定义的实质
再牛逼的宏定义也是机械的替换
宏定义结束不需要 ;
(分号)
#define PI 3.14
终止宏定义生效范围
#define PI 3.14
代码块..
#undef PI
[]()
不带参数的宏定义
#include <stdio.h>
#define PI 3.14
int main(){
int r = 6;
printf("%d 半径圆的面积 %.5f",r,PI * r * r);
return 0;
}
[]()
带参数的宏定义
比较两数字大小
#include <stdio.h>
#define MAX(x, y) ((x) > (y)) ? (x) : (y) // 这些括号是为了保证 判断正确
int main() {
int x = 6, y = 10;
printf("%d %d -max-> %d", x, y, MAX(x, y));
return 0;
}
求平方 (有 BUG )
宏定义只是机械性替换,所以不能代替函数
#include <stdio.h>
#define SQUARE(x) x * x
int main() {
int x = 6;
printf(" %d -平方-> %d\n", x, SQUARE(x));
printf("%d + 1 -平方-> %d\n", x, SQUARE(x + 1));
return 0;
}
[]()
{{nature('2020-01-02 16:47:07')}} {{format('12641')}}人已阅读
{{nature('2019-12-11 20:43:10')}} {{format('9527')}}人已阅读
{{nature('2019-12-26 17:20:52')}} {{format('7573')}}人已阅读
{{nature('2019-12-26 16:03:55')}} {{format('5017')}}人已阅读
目录
标签云
一言
评论 0
{{userInfo.data?.nickname}}
{{userInfo.data?.email}}