这个不会啊,double long long都不行

img

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

int main()
{
    long long unsigned a1, a2, b1, b2;
    printf("ULLONG_MAX = %llu\n\n", ULLONG_MAX);
    scanf("%llu%llu%llu%llu", &a1, &b1, &a2, &b2);
    printf("%llu %llu", a1 + b1, a2 + b2);

    return 0;
}

15000000000000000000 比ULLONG_MAX小一些,在表数范围之内,运行结果:
ULLONG_MAX = 18446744073709551615

10000000000
10000000000
10000000000000000000
5000000000000000000
20000000000 15000000000000000000

...Program finished with exit code 0
Press ENTER to exit console.

img


补充:使用的数据类型从long long unsigned 改成 unsigned long long,
因为文档里都写成 unsigned long long