{{format('0')}} {{format('573')}} {{format('1117')}}

【C语言】高级宏定义 [ 编程杂谈 ]

大数据男孩 文章 正文

想做一个技术博客,奈何实力不够
分享

明妃

{{nature("2022-08-14 17:23:18")}}更新

宏定义的实质

再牛逼的宏定义也是机械的替换

宏定义结束不需要 ;(分号)

#define PI 3.14

终止宏定义生效范围

#define PI 3.14

代码块..

#undef PI

[mark]()

不带参数的宏定义

#include <stdio.h>
#define PI 3.14

int main(){
    int r = 6;
    printf("%d 半径圆的面积 %.5f",r,PI * r * r);
    return 0;
}

[mark]()

带参数的宏定义

比较两数字大小

#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;

}

[mark]()

评论 0
0
{{userInfo.data?.nickname}}
{{userInfo.data?.email}}
TOP 2
Spark 2.0 单机模式与集群模式 安装

{{nature('2020-01-02 16:47:07')}} {{format('12641')}}人已阅读

TOP 3
Office 2016 Pro Plus 激活

{{nature('2019-12-11 20:43:10')}} {{format('9527')}}人已阅读

TOP 4
Linux上 MySQL 开启远程登陆的两种方法

{{nature('2019-12-26 17:20:52')}} {{format('7573')}}人已阅读

TOP 5
Linux 安装 MySQL 5.7

{{nature('2019-12-26 16:03:55')}} {{format('5017')}}人已阅读

目录

标签云

C语言 宏定义 常量

一言

# {{hitokoto.data.from || '来自'}} #
{{hitokoto.data.hitokoto || '内容'}}
作者:{{hitokoto.data.from_who || '作者'}}
自定义UI
配色方案

侧边栏