En fait c´est simple ( je simplifie volontairement )
Quand le programme rencontre l´instruction :
toto = addition(1,2);
Il " appelle" la fonction addition ( execute le code de cette dernière )
Il fait donc :
int resultat = 9*2;
Puis, une fois que la fonction a terminé son travail, elle doit " retourner" la valeur quelle a calculé à l´instruction qui l´a demandé, ici c´est :
toto = addition(1,2);
Et comment " renvoie" elle cette valeur ?
Grâce à return, dans :
return resultat;
return signifie : sort de la fonction addition et, si il est suivi d´une valeur, comme ici avec resultat, donne cette valeur à l´instruction appelante.
Tu peux essayer avec une fonction :
int test( void )
{
return 9;
}
Celle-ci donnera toujours 9 comme valeur.
Tu peux aussi faire :
int test( void )
{
return 3*3;
}
Par exmple.