这是我正在阅读以学习 Objective-C 的一本书的一部分。
然后书中有一些练习要求读者定义一个宏 ( MIN
) 以找到两个值中的最小值,另一个要求定义一个名为 MAX3
的宏,该宏给出 3 个值的最大值。我认为这两个定义看起来类似于 MAX
,但我不明白 MAX
公式如何找到最大值。我的意思是如果我只是这样做
int limits = MAX (4,8)
它只会将
limits
的值分配为 8。这与查找变量的最大值有什么关系? 最佳答案
我认为你混淆了值(value)和变量。您列出的宏示例扩展为两个值之间的比较,并返回两个值中的较大值(即较大的 a
或 b
)。所以你是对的, int limits = MAX(4,8)
只是将 8
分配给 limits
,与查找可以存储在 limits
中的最大值无关。
头文件limits.h 定义了许多值,比如INT_MAX
,它们会告诉你有关系统上变量类型的最小值/最大值的信息。