文章目录
-
不用
INT_MAX
采用INT_MAX
(#include<limits.h>
),即0x7fffffff
(2147483647)作为无穷大。但是以INT_MAX为无穷大常常面临一个问题,即加一个其他的数会溢出。 -
用
0x3f3f3f3f
(1061109567)
和INT_MAX
一个数量级,即 数量级,10亿
INT_MAX - 2 * 0x3f3f3f3f = 25264513
,无穷大相加依然不会溢出。 -
为数组赋值
#include <string.h>
int a[5];
memset(a, 0x3f, sizeof(a));
#include <iostream>
using namespace std;
int a[5];
fill(a, a + 5, 0x3f3f3f3f);