Hallo Experten, eine Frage bezüglich zwei Bedingungen in If-Operator. Beispiel: if(a==(b&0x01) && d!=c) {} Soll man die Teile, die mit dem UND'&&' getrennt sind. mit dem Klammern() umschlagen oder so eine Schreibweise schon richtig ist. if((a==(b&0x01)) && (d!=c)) Mein Problem ist, dass der Compiler mit den Warnungen meckert. Binary operator other than + - * / % used with binary operator of different precedence. Extra parentheses recommended. Binary/ternary operator used with && or ||. Extra parentheses recommended. mfg. Alex
der compiler wird wohl merken das du zwei vergleiche mit AND verknüpfst, aber er warnt dich das man um die einzelnen boolschen ausdrücke besser klammern machen sollte. ich würde sie machen, andere würden so wenig hinschreiben wie möglich. geschmackssache. ich würde wahrscheinlich auch selbstsprechende variablennamen nehmen, nicht a,b,c,tt… ;-)
Alex schrieb: > Soll man die Teile, die mit dem UND'&&' getrennt sind. mit dem > Klammern() umschlagen Führt m.E. lediglich zu schlechterer Lesbarkeit.
Alex schrieb: > Soll man die Teile, die mit dem UND'&&' getrennt sind. mit dem > Klammern() umschlagen Führt m.E. lediglich zu besserer Lesbarkeit. :-)
if ( (a == (b & 0x01)) &&(d != c) ) { ... } Ich bin eher der Freund von mehr Klammern und etwas mehr Luft in dem ganzen
einfach auf BASCOM umsteigen ! If A = 5 And B = 7 Then End If ... geht ohne mekern.
So eine Warnung kannst Du abschalten, wenn Du sicher bist, dass jeder, der den Code später liest oder wartet, ohne Nachzudenken weiss, dass && später bindet als !=/== . Andernfalls Klammere. Klammern sind bei solchen Zeilen meist nicht das Problem.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.