宏定义中的参数需要加括号的原因写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个.#define MIN(A,B) ((A)

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 08:18:29
宏定义中的参数需要加括号的原因写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个.#define MIN(A,B) ((A)

宏定义中的参数需要加括号的原因写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个.#define MIN(A,B) ((A)
宏定义中的参数需要加括号的原因
写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个.
#define MIN(A,B) ((A)

宏定义中的参数需要加括号的原因写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个.#define MIN(A,B) ((A)
加括号是为了处理表达式参数(即宏的参数可能是个算法表达式)时不出错,因为宏替换就是文本替换,所以如果有以下情况:
#define COM(A,B) (A)*(B)
那么COM(6+5,3)这个调用会怎么替换呢?它会换成这样:
(6+5)*(3)
显然这是和COM宏的意图一致的,但是如是去掉了定义中括号,即写成这样:
#define COM(A,B) A*B
那么COM(6+5,3)这个调用会怎么替换呢?它就会换成这样:
6+5*3
这样显然就和宏的意图不符合了.
但是你所写出的程序中的参数(即*p++和b)调用原程序的宏,这两种情况没区别.加括号是为了更通用.

宏定义中的参数需要加括号的原因写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个.#define MIN(A,B) ((A) vb.net定义一个函数,private a ()括号里如何定义可有可无的参数? php中定义函数后面括号里的参数名为什么不用加引号 C语言的time函数中不加参数和加参数有区别吗写NULL和定义一个time_t的指针带进去有什么区别 参数的传递是否需要定义 定义一个带参数的宏,求长方体的体积. C++函数参数中的&号是什么意思呢?近日看到某些VC中的函数参数是这么写的,int func(int &count) ,在形参“count”前加了一个&符,能够起到什么作用呢?恳请大家回答. 什么样的代数式需要加括号?填空题,和写答的时候,怎样判断该不该加括号? 函数定义时的参数为?函数调用语句中的参数称为? 一种药品易挥发,且能与空气中的某些成分发生化学反应1.写一个符合原因的化学方程式2.分析浓硫酸需要密封的原因 熵定义中的热温比中的温度是什么温度啊熵是一个状态参数,定义却是用过程定义的,热温比中的温度指什么温度啊,能举个例子或者形象化的说明吗? MPC单元也需要定义材料参数? 用VC++6编译一个C程序,这个程序的主函数调用了自己定义的一个函数,但运行时并没有执行这个函数,怎么回已经找到原因了,是我忘记写括号了! 宏定义的时候为什么要加那么多括号比如 A*B 为什么要写成 ((A)*(B))我想直接加一个外面的括号 写成 (A*B)不就行了? C语言中 define MVAL (13) 宏定义为什么要加一个括号啊?他和不加括号有什么区别吗? 怎样在字前面加“{”要括住两行的字,只需要一个括号在前面括住就行了 课本中的定义后括号内的英文是需要背的吗比如,物理课本中质点(mass point):忽略物体大小和形状,简化为一个有质量的点称为质点.括号内的mass point需要记住么,还是了解一下就可以呢,为什 带参数的宏定义 #define MIN(x,y) (x)