c语言的题 怎么判断是不是int类型哇

求两个整数的和 怎么判断两个数是否超出int类型呢 求解答!感谢🙏

img

#include <stdio.h>
#include <limits.h>

int main() {
    int num = 2147483647;  // 一个接近 int 最大值的数
    
    if (num > INT_MAX) {
        printf("大于最大值\n");
    }
    
    if (num < INT_MIN) {
        printf("小于最小值\n");
    }
    
    return 0;
}

可采纳


int a = 10;

int b = 20;
if (a > INT_MAX || b > INT_MAX) {

    // 超出int类型

} else {

    // 没有超出int类型

}


gpt

#include <stdio.h>
#include <limits.h>

int main() {
    int num1, num2;
    
    printf("请输入第一个整数:");
    scanf("%d", &num1);
    
    printf("请输入第二个整数:");
    scanf("%d", &num2);
    
    int sum = num1 + num2;

    if ((num2 > 0 && num1 > INT_MAX - num2) || (num2 < 0 && num1 < INT_MIN - num2)) {
        printf("两个数相加超出int类型的范围。\n");
    } else {
        printf("两个数相加的结果为:%d\n", sum);
    }
    
    return 0;
}