#include<stdio.h>
#define MAX(X,Y) ((X)>(Y)?(X):(Y))
int max(int x, int y)
{
return x > y ? x : y;
}
int main()
{
int a = 10;
int b = 20;

int ret1 = MAX(a++, b++);//宏会直接把定义的替换过来

//((a++)>(b++)?(a++):(b++))会进行一系列的运算。

此刻算完后a=11.b=22,ret=21

int ret2 = max(a++, b++);//函数会把值(上面运算后的值)传过去在函数内部进行运算。

此刻运算后a=12,b=23,ret=22

printf("a=%d b=%d ret1=%d ret2=%d", a, b, ret1,ret2);

输出结果
a=12,b=23,ret1=21,ret2=22
.....未完待续尽请期待

转载于:https://blog.51cto.com/wpfbcr/1703006

宏在使用过程余函数的区别1相关推荐

  1. C语言中的带参宏和带参函数的区别

    C语言中的带参宏和带参函数的区别 (1) 带参函数中的形参是变量,因此有类型检查.而带参宏只是简单的字符串替换. (2) 从程序执行的过程来看,带参宏是在预处理阶段被预处理器处理的.而带参函数是在程序 ...

  2. c语言逐语句调试和逐过程调试,逐语句调试和逐过程调试的区别

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 以vs程序为例,其逐语句调试和逐过程调试的区别仅在于它们处理函数调用的方式不同,这两个命令都指示调试器执行下一行的代码.如果某一行 ...

  3. ddr4 lpddr4区别_笔记本内存LPDDR3就一定不如DDR4吗?宏旺半导体解释两者的区别?...

    很多人在买手机的时候都会把存储容量.运存大小当做一个非常重要购买依据来参考,但很少有人去关心他们的内存颗粒以及标准到底是什么,其实这里面猫腻很多.就拿轻薄笔记本来说,目前常见的一种是LPDDR3,一种 ...

  4. 李彦宏谈百度与Google的区别

    2014年12月下旬,郁亮带领万科80多人赴北京百度总部与百度董事长兼CEO李彦宏进行了一次深度对话,话题涉及创新激励.智能家居.职业经理人文化--以下是部分现场对话实录. 1.百度与Google的差 ...

  5. 函数式宏定义与普通函数的区别?C语言宏定义和宏定义函数 ?

    http://www.jb51.net/article/41869.htm 尽管函数式宏定义和普通函数相比有很多缺点,但只要小心使用还是会显著提高代码的执行效率,毕竟省去了分配和释放栈帧.传参.传返回 ...

  6. 宏与内联(inline)的区别(转载)

    先转载下人家总结的宏和普通函数调用的区别: (1).宏只做简单的字符串替换,函数是参数传递,所以必然有参数类型检查(支持各种类型,而不是只有字符串). (2).宏不经计算而直接替换参数,函数调用则是将 ...

  7. Java面向对象和面向过程有什么区别?网友:傻傻分不清楚……

    面向对象,Obeject Oriented,是一种编程术语.面向对象是当今软件开发方法的主流方法之一,他是把数据以及对数据的操作放在一起,作为一个相互依存的整体,就是我们所说的对象.对同类对象抽象出其 ...

  8. 顺序内聚和过程内聚的区别

    顺序内聚:指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入. 构件或者操作的组合方式时,允许在调用前面的构件或操作之后,马上调用后面的构件或操作,即 ...

  9. java sub函数,请问Sub子过程与Function函数过程有什么区别?

    function是函数,sub是子程序,都可以传递参数,但函数有返回值,子程序没有 function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值. Sub 过程与Functio ...

最新文章

  1. 9步教你用NumPy从头开始构建神经网络!
  2. 面向对象的本质是算法的上下文封装,是同一类属的行为接口的一致性
  3. 在内网服务器中获得真正的客户端ip的方法
  4. HTML5中各种标签总结(body标签)
  5. qq应用之超级店长数据分析
  6. 【学术相关】近5年十大最具影响力的 AI 论文,你知道几个?
  7. matlab能控型模型,级倒立摆MATLAB仿真、能控能观性分析、数学模型、极点配置
  8. Redis源码剖析(十一)跳表
  9. android Arrays.fill()的使用
  10. mysql Access denied for user root@localhost错误解决方法总结
  11. maven install 安装项目问题总结An unknown compilation problem occurred
  12. w/atl的thunk技术
  13. flask第九篇——url_for【2】
  14. 一个不错的Redis实战学习视频教程
  15. 西数发布首款消费级SSD:蓝盘、绿盘齐飞
  16. 犹太人很会赚钱?一老板用犹太人的思维做生意,一年赚了200多万!
  17. 安装Adobe全家桶时出现The installation cannot continue as the installer file may be damaged.解决方法。
  18. java数组初始化0_Java自学-数组 初始化数组
  19. 红米android10参数,红米10x5g手机参数红米10x5g手机参数有哪些
  20. 华为 AISC 研究型实习生招聘~北京 or 深圳

热门文章

  1. python笔试常见题
  2. 资本冬天已至,开发者却可以着眼未来
  3. 写单元测试的好处(转)
  4. DataArtisans战略联手阿里云 Apache Flink服务能力云化
  5. Servlet 应用程序事件、监听器
  6. windows 建立wifi热点
  7. SmartFoxServer资料
  8. hdu4750Count The Pairs(最小生成树找瓶颈边)
  9. zk 08之:Curator之一:zk客户端Curator
  10. 华为网络设备上的常用安全技术(一)