这是我正在阅读以学习 Objective-C 的一本书的一部分。



然后书中有一些练习要求读者定义一个宏 ( MIN ) 以找到两个值中的最小值,另一个要求定义一个名为 MAX3 的宏,该宏给出 3 个值的最大值。我认为这两个定义看起来类似于 MAX ,但我不明白 MAX 公式如何找到最大值。我的意思是如果我只是这样做

int limits = MAX (4,8)

它只会将 limits 的值分配为 8。这与查找变量的最大值有什么关系?

最佳答案

我认为你混淆了值(value)和变量。您列出的宏示例扩展为两个值之间的比较,并返回两个值中的较大值(即较大的 ab )。所以你是对的, int limits = MAX(4,8) 只是将 8 分配给 limits ,与查找可以存储在 limits 中的最大值无关。

头文件limits.h 定义了许多值,比如INT_MAX,它们会告诉你有关系统上变量类型的最小值/最大值的信息。

10-08 09:31