Почему-то диапазон для int, long int, long long, unsigned int одинаковый и составляет от от -2147483648 до 2147483647.
Вот код для примера:
#include <stdlib.h>
#include <stdio.h>
int main(void) {
unsigned int sum = 2147483648;
long long int sum1 = 2147483648;
int sum2 = 2147483648;
printf("%d", sum); //-2147483648
printf("%d", sum1); //-2147483648
printf("%d", sum2); //-2147483648
getch();
return EXIT_SUCCESS;
}
Во всех случаях выводит одно и тоже число. Как сделать так чтобы это корректно работало?