Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

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, > > ich möchte doch von einem Fehler sprechen. Im Simulator springe ich tatsächlich auf den Befehl im else-Zweig. Ich habe jetzt den Code umformatiert: > > function func_test() > { > int a,b,c,d; > a=1; > b=1; > c=0; > d=-1; > if (a == 1) > { > d=0; > } > else > { > d=1; > } > } > > Jetzt steht in jeder Zeile ein Befehl oder eine Klammer. Ich lande trotzdem auf d=1 was mich eigentlich echt irriert. > > &gt; Das liegt wahrscheinlich daran, daß die Funktion mit "}" endet, dies > &gt; aber kein befehl ist, aber dennoch "return;" heißt. > &gt; "}" kann aber im Simulator nicht markiert werden. So wird einfach > &gt; der letzte Befehl vor Funktionsende markiert. > > Es wäre sauber wenn nach d=0 die Funktion verlassen würde. > > Gruss Klaus > > > > &gt; Hallo KlaRa und Milif, > &gt; > &gt; Ich weiß nicht, was ihr habt, ich hab&#39; grad das Proggie getestet, > &gt; und es funzt so wie es soll. > &gt; In d steht niemals eine 1 drin immer -1 oder 0. Das kann man ganz einfach > &gt; prüfen, indem man d als Global definiert und überwacht. > &gt; Was euch wahrscheinlich irretiert, ist, daß beim Einzelschritt > &gt; der blaue Balken auch bei der else-Zeile stehen bleibt. > &gt; Das liegt wahrscheinlich daran, daß die Funktion mit "}" endet, dies > &gt; aber kein befehl ist, aber dennoch "return;" heißt. > &gt; "}" kann aber im Simulator nicht markiert werden. So wird einfach > &gt; der letzte Befehl vor Funktionsende markiert. > &gt; > &gt; Das könnt Ihr ganz einfach so testen: > &gt; int d; > &gt; <font face="courier new" size=2&gt;function func_test() > &gt; { > &gt; int a,b,c/*,d*/; > &gt; a=1; > &gt; b=1; > &gt; c=0; > &gt; d=-1; > &gt; if (a == 1) > &gt; { d=0; } > &gt; else > &gt; { d=1; > &gt; a=0; }//Hier bleibt beim Einzelschritt der Balken immer stehen, > &gt; //obwohl diese Zeile nicht ausgeführt wird :-) > &gt; } > &gt; > &gt; thread main > &gt; { > &gt; func_test(); > &gt; }</font&gt; > &gt; > &gt; MfG André H. > &gt; > &gt; > &gt; &gt; Hallo, > &gt; &gt; > &gt; &gt; ich habe Dein Programm so eben getestet. Bei mir stellt sich der Fehler genauso wie beschrieben ein. > &gt; &gt; 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. > &gt; &gt; > &gt; &gt; Gruss Klaus > &gt; &gt; > &gt; &gt; > &gt; &gt; &gt; /*Habe heute lange am Problem mit verschachtelten > &gt; &gt; &gt; "if u. else"-Bedingungen am Simulator getestet(siehe auch folgendes Testprogr.) > &gt; &gt; &gt; Erst beim Einfügen einer Dummy-Operation (z.B. c=0;) nach > &gt; &gt; &gt; der else-Klammer wurde die if-Abfrage korrekt durchlaufen, sonst immer der if UND der else -Zweig. > &gt; &gt; &gt; Ist das Prob. bekannt oder mache ich was falsch ? > &gt; &gt; &gt; Mfg Milf. > &gt; &gt; &gt; */ > &gt; &gt; &gt; > &gt; &gt; &gt; > &gt; &gt; &gt; function func_test() > &gt; &gt; &gt; { > &gt; &gt; &gt; int a,b,c,d; > &gt; &gt; &gt; a=1; > &gt; &gt; &gt; b=1; > &gt; &gt; &gt; c=0; > &gt; &gt; &gt; d=-1; > &gt; &gt; &gt; if (a == 1) > &gt; &gt; &gt; { d=0; } > &gt; &gt; &gt; else > &gt; &gt; &gt; { d=1; } > &gt; &gt; &gt; > &gt; &gt; &gt; //**c=0;//**<< nur wenn hier eine Zeile im Code eingefügt wird , > &gt; &gt; &gt; //** erhält man das korrekte Ergebnis d=0, > &gt; &gt; &gt; //** sonst wird trotz a==1 > &gt; &gt; &gt; //** der else-Zweig auch durchlaufen > &gt; &gt; &gt; }//** Ende der Function > &gt; &gt; &gt; //******************** > &gt; &gt; &gt; thread main > &gt; &gt; &gt; { > &gt; &gt; &gt; func_test(); > &gt; &gt; &gt; }
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB