int a=5;
int main(){
...
int a=function(b,c,a);
Nie wiem czy zauważyłeś, ale przesłaniasz globalną zmienną a. Obstawiam, że kolejność wykonania tej linijki wygląda tak:
int a;
a=function(b,c,a);
Przez co wykorzystujesz śmieci.
Wystarczy nie tworzyć nowej zmiennej tylko operować na tej globalnej:
a=function(b,c,a);