if Abfrage -> Leserichtung



  • Hallo!

    In einer if Abfrage möchte ich den Wert einer bestimmten Arrayposition auslesen, aber natürlich nur dann, wenn der Index nicht kleiner als 0 ist, weil [-1] ja ungültig ist.

    if(
    knoten->spielfeld[x_pos][y_pos]==0 
    || 
    ((knoten->spielfeld[x_pos-3][y_pos]==0) && (x_pos-3>=0)) 
    )
    

    Soweit ich weiß wird der geschriebene Code ja von rechts nach links ausgelesen, wenn also (x_pos-3>=0) als FALSE bewertet wird, dürfte die links davon stehende Anweisung (knoten->spielfeld[x_pos-3][y_pos]==0) ja garnicht mehr aufgerufen werden, da die beiden Teile ja mit && verknüpft sind.

    Soweit meine Annahme, ist die richtig?
    Wenn nein, wie wäre der beste Lösungsansatz dafür. Ein zweites if möchte ich nämlich unbedingt vermeiden!

    Grüße,
    Harri



  • Gerade andersrum: Von links nach rechts. Und wenn der Linke Oprand false ist, wird der rechte tatsächlich nicht ausgewertet.
    Imho sollte man sowas aber nicht im Code ausnutzen.



  • TactX schrieb:

    Gerade andersrum: Von links nach rechts. Und wenn der Linke Oprand false ist, wird der rechte tatsächlich nicht ausgewertet.
    Imho sollte man sowas aber nicht im Code ausnutzen.

    Danke!

    mfg
    harri


Anmelden zum Antworten