Uboot- Stocki schrieb:
>> if(foo != 1) { ...
>> -> Da musst du mir mal erklären, was das mit einem Vergleich mit 0 zu
>> tun hat.
>
> Ich dachte hier z.B. an eine Variable (uint8_t) die 0 wird wenn
> irgendwas passiert. Im Normalfall ist die eben 1 ...
Das ist unklug.
Versuch bei solchen Dingen immer alles in das Schema zu packen:
Es gibt nur 0 oder nicht 0. (1 ist nicht 0, aber 5 ist auch nicht 0).
Wobei 0 für "nichts ist passiert" steht.
Selbst wenn es zur Zeit in einer Variablen nur 0 oder 1 geben kann,
geschieht es in der Praxis immer wieder, dass es plötzlich auch noch 2
geben kann (zb als zusätzlichen Fehlercode). Wohl demjenigen, der
vorausschauend gearbeitet hat und das berücksichtigt hat.
Dann gibt es plötzliche einen riesen Unterschied zwischen
1 | ....
|
2 | if( x == 0 ) {
|
3 | // kein Fehler passiert
|
4 | }
|
und
1 | ...
|
2 | if( x != 1 ) {
|
3 | // kein Fehler passiert
|
4 | }
|
Das Erste funktioniert weiter wie gehabt, das Zweite erfordert
Anpassarbeit.