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