Я родился в современном мире, поэтому мне не часто приходится сталкиваться с подобными вещами, но кто-то может объяснить, как получить правильное число в следующем коде.
Вот одна попытка многих:
#define X 2527
#define Y 2463
#define Z 3072
main()
{
long int c = X*Y*Z;
printf("%ld",c);
}
Я просто пытаюсь напечатать длинное целое число, но оно всегда печатает неправильный результат. Получаю ли я целочисленные переполнения - если да, как я могу их предотвратить? Или это мой выбор для printf formatter?