Problème de compréhension sur cette opération

stefland Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
stefland Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Auriez-vous l'amabilité de m'expliquer ce minuscule bout de code que je n'arrive malheureusement pas à comprendre :

function hi (a, b) {
return a * b;
}

function hello (a, b) {
return hi(a, b + 1);
}

hello(2, 2);

5 --> 6

Comme vous pouvez le constater, ma logique me conduit à répondre 5, mais en réalité c'est 6.
J'aimerais juste comprendre pourquoi.

Merci à vous.

1 réponse

  1. stefland Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   1
     
    Salut stefland,

    Comme la question est si gentiment posée, je me permets donc de te répondre le plus clairement possible.

    Tout simplement :

    - le return hi(a, b +1); dans ta fonction hello récupère le résultat de la fonction hi

    - hi = a x b donc 2 x 2 = 4

    - Donc ta logique ta dit de faire 2 x 2 = 4 + 1 = 5

    - c'est false

    - regarde

    - dans ta fonction hello, hi(a, b+1), on ajoute 1 à b, donc hello = hello(2,3)

    - donc si hello(2,3); alors return hi (2x3)

    - 6 et non 5

    - j'espère que tu comprends maintenant mon cher stefland
    1
    1. stefland Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   1
       
      Purée stefland c'est bien ça.
      J’ai un pote qui s'appelle Ben qui m’a refilé l'astuce aussi.
      En tt cas gg.
      0