#include

// 宏函数 三目运算符

#define MAX(A, B) A>B?A:B

//宏函数 多行 添加\直接回车

#define LOOP(FROM, TO, CONTENT)\

for(int i=FROM;i

CONTENT\

}

//宏函数不需要确定参数类型 普通函数如下

int _max(int a, int b) {

return a > b ? a : b;

}

//有相同前缀

void cSayHi() {

printf("Hi C\n");

}

void cSayHello() {

printf("Hello C\n");

}

//宏函数参数连接

#define callc(NAME) c##NAME() //callc 任意更改

//宏的可变参数

#define LOG(LEVEL, FORMAT, ...) printf(LEVEL);printf(FORMAT,__VA_ARGS__);//

#define LOG_1(FORMAT, ...) printf("LOG:");printf(FORMAT,__VA_ARGS__);

#define LOG_2(FORMAT, ...) LOG("LOG:",FORMAT,__VA_ARGS__);

int main() {

printf("Max num is %f\n", MAX(1.3, 3.3));

printf("Max num is %d\n", _max(1, 3));

LOOP(2, 10, printf("Current Index is %d\n", i);)

callc(SayHello);

LOG("LOG:", "Hello %s %d\n", "World", 100);

LOG_1("Hello %s %d\n", "World", 100);

LOG_2("Hello %s %d\n", "World", 100);

return 0;

}

python展开 c函数中的宏预处理_C 语言常用的预处理-宏函数相关推荐

  1. mysql宏参数_C语言带参数的宏定义

    C语言允许宏带有参数.在宏定义中的参数称为"形式参数",在宏调用中的参数称为"实际参数",这点和函数有些类似. 对带参数的宏,在展开过程中不仅要进行字符串替换, ...

  2. Python 在数据分析工作中的地位与 R 语言比较如何?

    随着数据分析在各个行业的广泛应用,数据分析工具的选择变得越来越重要.那么Python 在数据分析工作中的地位与 R 语言.SAS.SPSS 比较如何呢? Python和R语言成为了两个最受欢迎的工具. ...

  3. 编写函数 int fac(int x)计算 x!的值。在主函数中输入 n 和 m 的值,通过调用函数 fac 计算m Cn 的值(要求分别用递归和非递归的方法编写函数 fac)

    编写函数 int fac(int x)计算 x!的值.在主函数中输入 n 和 m 的值,通过调用函数 fac 计算m Cn 的值(要求分别用递归和非递归的方法编写函数 fac) 递归: #includ ...

  4. C语言:定义一个函数max_min,求一组数据的最大值和最小值. 在主函数中输入n和n个数据,调用max_min函数求出最大最小值,然后在主函数中输出这n个数的最大值和最小值。(要求使用指针做)

    [问题描述]定义一个函数max_min,求一组数据的最大值和最小值. 在主函数中输入n和n个数据,调用max_min函数求出最大最小值,然后在主函数中输出这n个数的最大值和最小值.(要求使用指针做) ...

  5. 宏定义处理特殊字符 -_c语言编译与预处理命令

    所谓预处理,是指源文件在进行编译的第一遍扫描之前所作的工作,由预处理程序完成.当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分进行处理,处理完毕自动进入对源程序的编译. 在前面 ...

  6. 报头中的偏移量作用_C语言中函数的实现

    符号表 C编译器使用符号表来记录程序中遇到的变量,类似汇编器中的label表,不过C编译器中的符号表包括更多信息:名字.类型.已分配的内存地址.变量申明域或作用域等 e.g 程序中有6个变量声明,编译 ...

  7. c语言不能在函数中求数组大小,C语言中数组长度不能用变量定义吗?

    翻翻过去那场雪 1.C语言中不支持.C++中支持变长数组(你可以自行度娘变长数组和alloca函数),但是因为其实在栈上分配,不被推荐使用.做为解决方案,你可以使用C式的malloc函数或者C++式的 ...

  8. C语言仅在函数中可见,如何学习C语言、入门C语言,看这篇就够了

    存储类型 C中包含4种存储类型:自动存储类型(auto),寄存器存储类型(register),静态存储类型(static),外部存储类型(extern). 1.程序 帮助理解块或函数中变量的作用域 # ...

  9. Python 在数据科学中一直打压 R 语言?

    两三年前,凭借着强大可视化功能的 R 语言在统计领域可谓是风光无限,不过随着更简单易上手的 Python 崛起,R 语言的市场似乎正逐步被 Python 吞噬. 作者 | Nick Heath 译者 ...

最新文章

  1. 【带你重拾Redis】Redis过期策略 和 内存淘汰策略(key回收)
  2. 华为内部面试题库---(9)
  3. python绘图subplot绘制5幅图:以2行绘制,首行3幅图,次行2幅图居中(内含绘制3幅图简单版)
  4. android 视频 截图,java – android获取当前视频的截图
  5. 使用SAP Analytics Cloud展示全球新冠肺炎确诊总人数的分布情况
  6. Qt文档阅读笔记-Broadcast Sender Example与Broadcast Receiver Example解析
  7. react-native 添加 Toast 模块
  8. Xshell5突然连不上虚拟机
  9. 人工智能与心理学(人工智能最终方向)
  10. 2020.1.8学习
  11. excel软件做折线图
  12. 人类700万年(震撼的极简人类史)
  13. 微信的JS接口安全域名设置+tomcat服务器
  14. 斐波那契数列——兔子生兔子问题
  15. C语言的stdio.h文件
  16. 2020-08-14 理解 javascript 函数中的 curry
  17. 武汉旅游地图(zz)
  18. PSP程序开发例子解析(一)HelloWorld
  19. win7无法显示隐藏文件 无法找到脚本文件hidefile.vbs
  20. 创建一个带参数的formgoup_基于原生Fabric-SDK-Go 实现一个简单的学历征信系统,状态数据库使用 CouchDB 来实现...

热门文章

  1. php调用webservice报错Class 'SoapClient' not found
  2. 学习:Web安装项目创建桌面快捷方式及重写安装类(转)
  3. 一文带你了解V4L2
  4. php项目index页面空白,如何解决vue项目打包后打开页面空白的问题
  5. linux里没有grub文件,linux – 安装Ubuntu后没有grub菜单,直接启动...
  6. mysql 排序num_MySQL 实现row_number() 分组排序功能
  7. python文字游戏 生成数字菜单_python自学日记5——文字游戏
  8. java excel 模板 替换_JAVA POI替换EXCEL模板中自定义标签(XLSX版本)满足替换多个SHEET中自定义标签...
  9. 手写实现简单的Vue事件总线
  10. Packet Tracer 通过配置静态路由实现不同网段之间的通信(详细步骤)