Partage
  • Partager sur Facebook
  • Partager sur Twitter

précision sur les test logiques

    28 juillet 2006 à 15:07:37

    J'ai une question concernant les tests logiques des if(), while()... :
    si l'on fait un "et" entre deux conditions et que la première est fausse, est-ce que le programme va quand même tester la deuxieme ou est-ce qu'il passe directement à la suite ?
    Cette question a son importance pour moi car ma deuxieme condition est en fait une fonction qui renvoie un booléen mais qui modifie également une structure, or cela ne doit être fait que si la première condition est bonne.
    Donc dois-je obligatoirement utiliser deux if() encastrés l'un dans l'autre ou puis-je n'en utiliser qu'un seul ?
    • Partager sur Facebook
    • Partager sur Twitter
      28 juillet 2006 à 15:13:57

      Citation : phyl Ozof

      J'ai une question concernant les tests logiques des if(), while()... :
      si l'on fait un "et" entre deux conditions et que la première est fausse, est-ce que le programme va quand même tester la deuxieme <...> ?


      Non. Le C pratique le 'court-circuit logique' :

      Ceci est parfaitement fiable :
      if (p != NULL && *p != 0)

      alors que ceci ne l'est pas :
      if (*p != 0 && p != NULL)

      • Partager sur Facebook
      • Partager sur Twitter
      Music only !
        28 juillet 2006 à 15:21:30

        ok merci bien pour cette precision.
        • Partager sur Facebook
        • Partager sur Twitter

        précision sur les test logiques

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown