В приведенном ниже коде значение prod не равно 9 000 000; он получает значение для мусора. Почему нам нужно, чтобы num1 и num2 имели тип long?Переполнение с продуктом ints
#include <stdio.h>
int main()
{
int num1 = 3000, num2 = 3000;
long int prod = num1 * num2;
printf("%ld\n", prod);
return 0;
}
Попробуйте выполнить их заготовку задолго до умножения. –
Это для меня 900000. Вы проверяете в отладчике или выходе? – linuxuser27
@linuxuser: Хотите сделать ставку на то, что ваш 'int' шире его? –