这是我正在阅读的一本学习 Objective-C 的书的一部分。
下面定义了一个名为 MAX 的宏,它给出了两个的最大值
价值观:#define MAX(a,b) ( ((a) > (b)) ? (a) : (b) )
然后书中有一些练习要求读者定义一个宏(MIN
)找到两个值中的最小值,另一个值要求定义一个名为MAX3
给出 3 个值中的最大值。我认为这两个定义看起来类似于MAX
,但我不明白如何MAX
公式求最大值。我的意思是如果我这样做
int limits = MAX (4,8)
它只会分配limits
8 的值。这与查找变量的最大值有什么关系?
我认为您混淆了值和变量。您列出的宏示例扩展为两个值之间的比较并返回两个值中的较大者(即哪个更大,a
or b
)。所以你是对的,int limits = MAX(4,8)
只是分配8
to limits
与查找可以存储的最大值无关limits
.
标头 limit.h 定义了许多值,例如INT_MAX
这将告诉您有关系统上变量类型的最小/最大值的信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)