Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo KlaRa und Milif, > > Ich weiß nicht, was ihr habt, ich hab' grad das Proggie getestet, > und es funzt so wie es soll. > In d steht niemals eine 1 drin immer -1 oder 0. Das kann man ganz einfach > prüfen, indem man d als Global definiert und überwacht. > Was euch wahrscheinlich irretiert, ist, daß beim Einzelschritt > der blaue Balken auch bei der else-Zeile stehen bleibt. > Das liegt wahrscheinlich daran, daß die Funktion mit "}" endet, dies > aber kein befehl ist, aber dennoch "return;" heißt. > "}" kann aber im Simulator nicht markiert werden. So wird einfach > der letzte Befehl vor Funktionsende markiert. > > Das könnt Ihr ganz einfach so testen: > int d; > <font face="courier new" size=2>function func_test() > { > int a,b,c/*,d*/; > a=1; > b=1; > c=0; > d=-1; > if (a == 1) > { d=0; } > else > { d=1; > a=0; }//Hier bleibt beim Einzelschritt der Balken immer stehen, > //obwohl diese Zeile nicht ausgeführt wird :-) > } > > thread main > { > func_test(); > }</font> > > MfG André H. > > > > Hallo, > > > > ich habe Dein Programm so eben getestet. Bei mir stellt sich der Fehler genauso wie beschrieben ein. > > Allerdings vermute ich ganz stark, es ist nur ein Fehler des Simulators. Ich habe nach dem If-Statement mal vor dem Ende der Funktion ein Return eingebaut. Man sieht das der else-Zweig, wie er hier soll, dabei nicht ausgeführt wird. > > > > Gruss Klaus > > > > > > > /*Habe heute lange am Problem mit verschachtelten > > > "if u. else"-Bedingungen am Simulator getestet(siehe auch folgendes Testprogr.) > > > Erst beim Einfügen einer Dummy-Operation (z.B. c=0;) nach > > > der else-Klammer wurde die if-Abfrage korrekt durchlaufen, sonst immer der if UND der else -Zweig. > > > Ist das Prob. bekannt oder mache ich was falsch ? > > > Mfg Milf. > > > */ > > > > > > > > > function func_test() > > > { > > > int a,b,c,d; > > > a=1; > > > b=1; > > > c=0; > > > d=-1; > > > if (a == 1) > > > { d=0; } > > > else > > > { d=1; } > > > > > > //**c=0;//**<< nur wenn hier eine Zeile im Code eingefügt wird , > > > //** erhält man das korrekte Ergebnis d=0, > > > //** sonst wird trotz a==1 > > > //** der else-Zweig auch durchlaufen > > > }//** Ende der Function > > > //******************** > > > thread main > > > { > > > func_test(); > > > }