Gast
#1206577
ich habe hier einen sehr seltsamen crash den ich mir nicht erklären kann... jemand ne idee?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
|
Anzeige
|
warum crasht das nur?
Gast
#1206577
ich habe hier einen sehr seltsamen crash den ich mir nicht erklären kann... jemand ne idee?
Hallo,
> if(diff & (1 << b++)){
was soll denn das b++ in einer if Bedingung?
Michael
jupp wrote: > ich habe hier einen sehr seltsamen crash den ich mir nicht erklären > kann... Du meinst, warum Deine Endlosschleife endlos läuft? Weil sich b nicht ändert, sobald die Bedingung wahr ist: b + 1 - 1 bleibt immer b Peter
Gast
#1206615
die schleife sieht eigentlich so aus und das funktioniert auch.
das b++ steht im if weil ich es irgendwo hochzählen muss und so is am einfachsten. ist doch das gleiche wie:
oder nicht? ich bin da nur zufällig draufgestossen und wundere mich.
Gast
#1206618
>Du meinst, warum Deine Endlosschleife endlos läuft?
böse falle =)
danke
hab mich nur gewundert, warum mann b++ in einem if schreibt. Ist ja wie b = b + 1. Ich würde sowas davrsetzen oder so. Weiß nicht ob das den Fehler verursachen kann ???
Gast
#1206730
> if(diff & (1 << b++)) > [...] > ist doch das gleiche wie: > [...] > if(diff & (1 << b)) { > b++; > [...] NEIN, ist es nicht. Im letzteren Fall wird b nur erhöht, wenn die Bedingung wahr ist! Und deswegen sollte man es auch vermeiden diese unären Operatoren so sehr verschachtelt zu verwenden. Das gibt nur Ärger.
Gast
#1207015
Debugger starten und schauen was passiert. jupp wrote: > das b++ steht im if weil ich es irgendwo hochzählen muss und so is am > einfachsten. Am einfachsten ist es immer, wenn Schleifenabbruchbedingung und Verändern der Schleifenvariable nicht allzuweit voneinander entfernt sind.
Moral von der Story: Wenn du eine Zählschleife willst, dann schreib auch eine Zählschleife. Dafür ist sie da Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|