不知道楼主学没学过 C ,C 里面是没有内置的 min/max 的,取两个数的最大值需要 a > b ? a : b 然后有的人喜欢定义一个宏 #define MAX(a, b) a > b ? a : b 又因为 C 预处理器宏是文本替换,所以这个会有各种坑 ... (为什么不定义函数?因为 C 直到 C11 才有个凑数的泛型 ...)
我看主题里都是假设有个容器,然后在容器里的数取 min/max ,但实际编码时很多时候就是算法需要在固定的数中间取,比如我算出一个 a ,a 可能是负数,我不想返回负数,就用 Math.max(0, a),因为有了这个库函数,所以不需要写 a > 0 ? a : 0 。 自己去 GitHub 上面搜,用解构取数组 min/max 的反而难找 https://github.com/search?q=Math.max&type=code&p=1