, поэтому я недавно делал проект homeschool в C. Нас попросили создать код, который будет возвращать вам факториал числа, которое вы ввели. Это круто и просто, но нас также попросили сделать что-то, что напишет вам ошибку, если число факториалов больше значения, чем максимальное значение целого числа.
int main() {
int a, i;
int faktorial = 1;
a = 10;
if (a < 0)
printf("Chyba, faktorial z nekladneho cisla neexistuje. \n");
else {
for (i = 1; i <= a; ++i) {
faktorial *= i;
}
printf("Faktorial z %d = %d\n", a, faktorial);
}
return 0;
}
Это мой код, который отлично работает, если только значение factorial не больше значения int. Я пытался сделать заявление if, например, if (faktorial> 2147483647), чем сообщение об ошибке printf, но оно просто не сработало и все равно делает faktorial = 0.