Разные результаты при перестановке множителя в C++
У меня есть такие фрагменты кода:
int n = 14, k = 5;
cout << n/k * 2;
и
int n = 14, k = 5;
cout << 2 * n/k;
Первый выдает 4, а второй 5. Почему так?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Приоритеты умножения и деления одинаковы, операторы левоассоциативны, так что операции выполняются поочередно слева направо.
n/k*2 = 14/5*2 = 2*2 = 4
2*n/k = 2*14/5 = 28/5 = 5
Вы же помните, что такое целочисленное деление?