c++中max2 = -INFINITY什么意思
时间: 2024-03-09 07:51:26 浏览: 204
`-INFINITY` 是C++中的一个特殊的常量,表示负无穷大。 `max2 = -INFINITY` 的意思是将 `max2` 的初始值设置为负无穷大,这样在后续的比较中,无论比较的值是多少,都会比 `max2` 更小,从而确保 `max2` 可以被正确更新为比所有值都小的最大值。
这通常在查找一组数中的最大值时使用。例如,可以使用以下代码来找到一个数组中的第二大的元素:
```c++
#include <iostream>
#include <climits>
using namespace std;
int main() {
int arr[] = {10, 20, 30, 40, 50};
int n = sizeof(arr) / sizeof(arr[0]);
int max1 = INT_MIN, max2 = INT_MIN;
for (int i = 0; i < n; i++) {
if (arr[i] > max1) {
max2 = max1;
max1 = arr[i];
} else if (arr[i] > max2 && arr[i] != max1) {
max2 = arr[i];
}
}
cout << "第二大的元素是:" << max2 << endl;
return 0;
}
```
在这个例子中,我们将 `max1` 和 `max2` 的初始值都设置为 `INT_MIN`,即整数类型的最小值。这样,在后续的比较中,无论比较的值是多少,都会比 `max1` 和 `max2` 更小,从而确保 `max1` 和 `max2` 可以被正确更新为最大和第二大的值。
阅读全文