Hallo ! Kann mir jemand sagen was das " %3 " hinter test bedeutet ? int test = 0; test = ++test%3; Danke !
xyz wrote: > Und was macht die 3 ? Wie, was macht die 3? Die lungert da so rum. Bis eine Modulo Division kommt und sie als Operand missbraucht. > Und welchen Wert hat dann Test ? Der ganze Ausdruck hat undefiniertes Verhalten. Aber es ging ja um den % und nicht um den Ausdruck an sich. In einem kompletten Ausdruck darf an eine Variable nur einmal ein neuer Wert zugewiesen werden. In test = ++test; passiert das aber 2-mal.
Das sind doch vöölig banale C-Grundlagen, das kan ndir jedes C-Buch erzählen: Stichworte Pre-Inkrement und Modulo, und Modulo 3 kann ja (meistens) sogar im Kopf ausrechnen) hth. Jörg ps.: bei unbekannten Wörtern hilft oft Wikipedia.de weiter ;)
Jetzt wollte ich gerade zusammenschreiben, dass das eigentlich doch definiert ist, aber beim Kompilieren mit -Wall erhielt ich eine Warnung. Die Diskussion gab es aber schon einmal auf der gcc-Mailinglist: http://gcc.gnu.org/ml/gcc/2004-10/msg00024.html
Florian wrote:
> Die Diskussion gab es aber schon einmal auf der gcc-Mailinglist:
Diese Diskussion gibt es in jeder C oder C++ Newsgroup
in Abständen von 2 bis 3 Wochen immer wieder.
Es gab Zeiten, da konnte ich die relevanten Abschnitte
aus dem C-Standard im Schlaf zitieren.
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.