ЗАЧЕМ ФУНКЦИИ?
Чтобы вызывать их с разными аргументами!
int res1, res2; ...
res1 = func(12 * x * x + 177, 865, 'x'); res2 = func(432 * y + x, 123 * y - 12, 'z');
Кстати, вы заметили, что список фактических параметров следует через запятую; и выражений ровно столько, сколько параметров у функции?
Функция описывает ПОСЛЕДОВАТЕЬНОСТЬ ДЕЙСТВИЙ, которую можно выполнить много раз, но с разными исходными данными (аргументами). В зависимости от данных она будет выдавать разные результаты, но выполняя одни и те же действия.
В том то и состоит ее прелесть: мы не дублируем один кусок программы много раз, а просто "вызываем" его.
Функция - абстракция АЛГОРИТМА, то есть последовательности действий. Ее конкретизация - вызов функции с уже определенными параметрами.
Оператор return может находиться не только в конце функции, но и в ее середине. Он вызывает немедленное прекращение тела функции и возврат значения в точку вызова.
int f(int x){ int y;
y = x + 4; if(y > 10) return (x - 1); y *= 2; return (x + y); }