besoin d'aide sur une ligne de code
je n'arrive pas a comprendre la ligne de code suivante:
int gcd(int j,int k) {return k ? j : gcd(k,j%k) ;}
cette ligne est censée retourner le plus gd commun diviseur.
je n'arrive pas a comprendre comment il fonctionne.
Que ce passe t il lorsque je fais gcd(12,9)?
que veut dire k ? j : gcd(k,j%k)?
il retourne k dans quel condition?
il retourne j dans quel condition?
cette fonction fait appel a elle même dans son corps. Est-ce une recurssion?
merci
je crois bien que c'est faux
quelle serait alors la bonne ligne de code?
{return k!=0 ? j : gcd(k,j%k)}