请问下这个该怎么写(主要是a,b的范围不会),非常感谢!

输入两个整数a,b,用空格隔开.请计算这两个整数相加后的结果 (-10^18<=a,b<=10^18)

最大的正整数是2147483647,10^18次方超出整数范围了啊。要么用long long来表示
如下:

#include <stdio.h>
#include <math.h>

int main()
{
    long long a,b;
    long long c = (long long)pow(10.0,18);
    while(1)
    {
        scanf("%lld %lld",&a,&b);
        if (a>=-c && a<=c && b <= c && b>=-c)
        {
            break;
        }
        printf("数据范围不满足条件,请重新输入:");
    }
    printf("%lld",a+b);
    return 0;
}