Czemu poniższa funkcja działa pomimo braku returna przed wywołaniem NWD(a,b)? Jest jakaś domyślna wartość którą zwraca funkcja jeśli nie użyjemy return czy poprostu kompilator dopisał return za mnie?
int NWD(int a,int b)
{
if(a!=b)
{
if(a>b) NWD(a-b,b);
else NWD(a,b-a);
}
else
return a;
}
Jakieś pomysły?