Оператору присваивания = необходима переменная в левой части, которой назначено значение в правой части.Вы не можете назначить что-то для функции, что f (n) в соответствии с синтаксисом C.Это присвоение значения строкам кода, что не имеет смысла.Единственное, что имеет смысл в левой части функции, это что-то, что может хранить значение .
Функции могут идти с правой стороны назначения, если толькоони возвращают что-то (они не имеют типа void).
Чтобы получить факториал правильно, вам нужно подумать еще немного ... прежде всего помните, что вы хотите, чтобы последнее значение было 1, а не ноль,И все числа в факториале умножаются.