Почему значение выражения 3/5*5 в C++ = 0?

Почему значение выражения 3/5*5 в С++ = 0? Ведь в зависимости от расстановки скобок ответ либо 0,12 либо 3. Откуда вообще берется 0?

Код прилагаю.

#include <iostream>
#include <string>
 
using namespace std;

float c;

int main()
{
    c = 3 / 5 * 5;
    cout << c;
}

Ответы (1 шт):

Автор решения: Harry

Для двух целых чисел - 3 и 5 - и деление целочисленное, т.е. дающее целое число путем отбрасывания дробной части действительного результата.

Т.е. от 0.6 отбрасываем 0.6 и получаем 0.

Ну, а 0 на что ни множь...

А порядок выполнения операторов - именно такой, как вы его записываете. Раз скобок нет - то сначала выполняется деление, потом умножение.

Если хотя бы один из операндов будет с плавающей точкой - деление будет "обычное", дающее ожидаемый вами результат.

Уточнение для альтернативно одаренных: операнд - данной конкретной операции деления! А то еще кто-то начнет прикапываться, что если в другой программе написать операнд с плавающей точкой, то это не подействует на рассматриваемую нами операцию...

→ Ссылка