所以我试图找到数组中最大和第二大的整数。所以我认为它是可能的最小值,看起来它可以低于 - (2 ^ 31)。
我尝试使用大到-2 ^ 63的值,它仍然有用
void findMax1Max2(int m[], int size, int *max1, int *max2)
{
int i;
*max1 = -2147483648;
*max2 = -2147483648;
for (i = 0; i < size; i++)
{
if (m[i] > *max1){
*max2 = *max1;
*max1 = m[i];
}
else if (m[i] > *max2){
*max2 = m[i];
}
}
}
答案 0 :(得分:3)
获得最小整数值的正确方法是
#include <limits.h>
int val = INT_MIN;
关于您的问题,您应该阅读此blog post,解释为什么INT_MIN被定义为-2147483647 - 1
而不是-2147483648
。