Gast
#1537393
Hallo zusammen, bin noch relativer C-Anfänger und brauche mal Eure Hilfe. Bekomme die Fehlermeldung "syntax error at near '||'===> ||" bei folgenden Programmzeilen angezeigt.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
|
Anzeige
|
C-Neuling hat ein Problem
Gast
#1537393
Hallo zusammen, bin noch relativer C-Anfänger und brauche mal Eure Hilfe. Bekomme die Fehlermeldung "syntax error at near '||'===> ||" bei folgenden Programmzeilen angezeigt.
Gast
#1537400
')' zu viel.
Gast
#1537401
Die Klammern passen nicht. Deine Klammern reichen nicht aus. Du musst den gesamten if-Ausdruck klammern, hast aber zwei Klammerausdrücke und ein || dazwischen. Also vorne und hinten noch eine Klammer dazu. Ein Editor, der die jeweils entsprechende andere Klammer markiert, hilft hier mächtig.
Gast
#1537404
Hallo mizch, vielen Dank für Deinen Tip. Jetzt funktioniert es ! Danke und einen guten Rutsch ins neue Jahr golfbaer Ich würde das in erster Näherung so schreiben:
und das dann noch in zwei Teile mit sinnvollen englischen Namen spalten. Sieht aber auch logisch unsauber aus.
Gast
#1537653
Jürgen S. schrieb: > Ich würde das in erster Näherung so schreiben: >
> und das dann noch in zwei Teile mit sinnvollen englischen Namen spalten. > > Sieht aber auch logisch unsauber aus. Einen DCF-Empfänger kann man durchaus auch schöner umsetzen, mit beliebig tiefer Redundanz ;-) Logisch wird die Konstruktion oben immer mal wieder eine Synchronisation aussetzen.
Gast
#1537687
Ich bin selbst noch C/C++ Anfänger, aber würde das ganze nicht so viel besser und eleganter funktionieren: 1) Überhaupt gleich schreiben: uebernehmen = (oldminute != minute); Im Prinzip schaust du, ob eine Sekunde vor gezählt wurde (also um 1 inkrementiert wurde) oder ob zurückgesetzt wurde. Warum machst du das über so komische Verrenkungen wie -59? Warum gibst du nicht gleich absolut 0 an wie eine Konstante? Dadurch hast du auch weniger Fehler, den wenn du "=" statt "==" schreibst, wäre das eine Zuweisung zu einer Konstante und dadurch hättest du schon einen Compilerfehler... 2)Falls du es doch so wie hier programmieren würdest, würde ich das ganze in Strukturen aufteilen. Eine Struktur time mit minute, hour , day... usw. und dann erzeugst du struct time oldtime; struct time newtime; 3) Ich würde das ganze in eine Funktion packen. z.b. uint_8t check_if_new_time(const * const struct time oldtime, const * const struct time newtime); Danach wäre der Aufruf: uebernehmen = check_if_new_time(&oldtime, &newtime); viel schöner und leichter zu lesen. (vll. gehören da noch casts hin auf Konstant? Weiß jetzt gerade nicht, glaube aber schon.) Da ich selbst noch programmier-Anfänger bin, würde soetwas gescheiter sein oder sollte es doch so wie hier geschrieben werden? Ich würde es allerdings mit Strukturen und Funktionen machen oO. Sollte die Funktion dann nicht auf inline sein? Über Antworten wäre ich wirklich dankbar ;) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|