ia-ti un compilator mai nou, pentru ca daca iti compileaza cu void main inseamna ca e vechi.
Nu... mi se pare ca da warning, dar de compilat, ar trebui sa compileze fara eroare. Code::Blocks foloseste MinGW, MinGW e un port de GCC, iar ultimul GCC da warning, nu eroare. Si ca o completare, in C main-ul e definit ca
int main(void), pentru ca in C pui void ca sa arati ca functia nu ia niciun argument. In C++ nu pui nimic, dar in C, asta inseamna numar nedefinit de argumente.
Acum o problema, la scanf iti trebuie ca parametru &n, nu n simplu, pentru ca tu il citesti pe n in memorie ( scanf ( "%d", &n ) ), la fel si cu celalte citiri.
Functia lucreaza cu pointeri pentru ca modifica valoarea in interiorul ei, deci are nevoie de o adresa la acea variabila, nu de o copie a valorii ei.
Si inca ceva, utilizeaza <>, in loc de "" la headere, pentru ca <> reprezinta header care exista deja , iar "" inseamna ca e definit de tine, desi merge pentru cele default.
De fapt, daca il pui intre <>, header-ul e cautat in directorul in care se afla header-ele standard. Daca il pui intre "", e cautat intai in directorul specificat, iar apoi in cel pe care-l stie compilatorul.
Sper ca am tinut bine minte