FUNKCIJE
U slijedećem primjeru, funkcija prima jednu varijablu,
ali ne vraća nikakvu informaciju.
/* Program za računanje faktorijela */
#include <stdio.h>
void calc_factorial( int ); /* ANSI prototip */
void calc_factorial( int n )
{
int i, factorial_number = 1;
for( i = 1; i <= n; ++i )
factorial_number *= i;
printf("Faktorijela od %d je %d\n", n, factorial_number );
}
main()
{
int number = 0;
printf("Unesite broj\n");
scanf("%d", &number );
calc_factorial( number );
}
Ispis programa
Unesite broj
3
Faktorijela od 3 je 6
Pogledajmo funkciju calc_factorial(). Deklaracija
funkcije
void calc_factorial( int n )označava da nema povratne vrijednosti i da funkcija prima jedan integer, unutar tijela funkcije poznat kao n. Zatim dolazi deklaracija lokalnih varijabli,
int i, factorial_number = 0;U C-u je pravilnije pisati,
auto int i, factorial_number = 0;jer ključna riječ auto označava prevodiocu da su varijable lokalne. Program radi prihvaćajući varijablu s tipkovnice i predajući je funkciji. Drugim riječima, varijabla number unutar main tijela se kopira u varijablu n u funkciji, koja tada računa točno rješenje.