Hallo liebes Forum, da ich keinen eigenen Computer habe mache ich vieles auf dem Handy. Ich habe Mobile C installiert und kann darauf kleine C Programme testen. Eigentlich hatte ich nur eine Frage zur else if Syntax. Aber ich konnte die Datei Mein_erstes_Programm.c nicht auf den Speichermedien des Handys finden. Deshalb habe ich einen Screenshot mit einer Digitalkamera gemacht. Ganz schön umständlich. So habe ich jetzt ganz andere Fragen: 1. In welchem (unter)Forum sollte man Fragen zur C Syntax stellen? 2. Wo ist die Datei: "Mein_Programm.c" zu finden? 3. Wie mache ich einen Screenshot auf dem Android Handy? Sorry, es sind wahrscheinlich extrem dämliche Fragen, aber es quält mich halt...
Sperry Berry schrieb: > 1. In welchem (unter)Forum sollte man Fragen zur C Syntax stellen? Das ist so vollkommen falsch hier nicht. > 2. Wo ist die Datei: "Mein_Programm.c" zu finden? Das kann nur beantworten, wer "Mobile C" kennt. > Wie mache ich einen Screenshot auf dem Android Handy? (5 Sekunden Google) > Üblicherweise wird ein Screenshot unter Android (z.B. bei Sony oder HTC) dann erstellt, wenn Sie den Power-Button und den Leiser-Button gleichzeitig für wenige Sekunden gedrückt halten. Bei einigen Herstellern müssen Sie die Power- und die Home-Taste gleichzeitig drücken.
Hallo liebes Forum, ich habe eine Routine in Mobile C geschrieben. Ich dachte immer ich müsste bei if else if ganz viele geschweifte Klammern machen. Aber Hilfe, mein kleines Programm macht genau was es soll. Kann dieses kleine Glück von Dauer sein (auch auf anderen Compilern), oder ist es nur ein Compilerfehler? Ich bin mir insgeheim gar nicht mal so sicher, ob dieses Mobile C nicht insgeheim ein Interpreter ist...
Was du da geschrieben hast ist korrektes C, wenn du keine {} setzt, wird angenommen, dass die nächste Anweisung zum if / else if gehört.
Mit dieser Einrückung sieht es so aus als würden alle else if's und else zu der der zweite if-Bedinungen gehören.
> Aber Hilfe, [..] Das Fragment sieht aus wie ein Lehrbuchbeispiel für "How to write unmaintainable code" [0]. Grauenvoll. Nix für ungut. [0] z.B. https://www.se.rit.edu/~tabeec/RIT_441/Resources_files/How%20To%20Write%20Unmaintainable%20Code.pdf
g457 schrieb: > Das Fragment sieht aus wie ein Lehrbuchbeispiel für "How to write > unmaintainable code" [0]. Grauenvoll Übersetzung unmaintainable = unverwundbar. Warum ist das grauenvoll? Ich weiß selber das mein kleiner Codeschnipsel suboptimal ist. Es ist ein Test für eine Timerinteruptroutine die alle 10μs aufgerufen wird. Task_0 soll bei jedem 2tem Interrupt ausgeführt werden. Task_1 bei jedem 4ten Interrupt. Task_2 bei jedem 8ten. Task_3 bei jedem 16ten. Usw. Mein kleiner Codeschnipsel soll also berechnen, welcher Task auszuführen ist. Das muss schnell gehen, damit noch ein ganz bisschen Rechenleistung für das Hauptprogramm übrig bleibt. Alternativ könnte man eine Tabelle mit z.B. 1024 Einträgen verwenden. Oder es gibt noch einen ganz anderen Trick...
> Übersetzung unmaintainable = unverwundbar. rofl, der war gut. > Warum ist das grauenvoll? Nochmal im Wörterbuch nachschlagen.
Sperry Berry schrieb: > oder > ist es nur ein Compilerfehler? Zeig mal das Fehlerprotokoll. Ich glaube nicht, dass so etwas fehlerfrei compiliert wird. Falls ja, welcher Compiler und welches OS CPU MC.
Sperry Berry schrieb: > Task_1 bei jedem 4ten Interrupt. Das ist diese Bedingung:
1 | else if(n & 0x02) |
2 | k=1; |
Und diese Bedingung ist für n=2 (aus der for-Schleife) richtig. Aber das ist kein 4. Interrupt. (n==2) Sperry Berry schrieb: > Task_2 bei jedem 8ten.
1 | else if(n & 0x04) |
2 | k=2; |
Und diese Bedingung ist ja für n=4 richtig. Und das ist ja kein 8. Interrupt (n==4). Der Anfang scheint nicht richtig zu sein oder?
zitter_ned_aso schrieb: > Sperry Berry schrieb: >> Task_1 bei jedem 4ten Interrupt. > > Das ist diese Bedingung: > else if(n & 0x02) > k=1; > > Und diese Bedingung ist für n=2 (aus der for-Schleife) richtig. Aber das > ist kein 4. Interrupt. (n==2) Er schrieb ja nicht "in dem 4. Interrupt", "sondern in jedem 4. Interrupt". k=1 wird ausgeführt für n=2,6,10,14,…, also in jedem 4. Interrupt. Entsprechend wird k=2 ausgeführt für n=4,12,20,28,…, also in jedem 8. Interrupt usw. Das hat also schon seine Richtigkeit.
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.