Was macht das % ?????
-
Hi, ich wollte fragen was der % operator bei diesem beispiel genau macht ??
char Zahl[LEN]; int ergebnis = 0; for (int i = 0; i < LEN; i++) { ergebnis += Zahl[i] - '0'; }
-
Er versteckt sich...
-
In genau diesem Beispiel genau garnichts.
-
Sorry, hab das falsche kopiert

Hier:
int quersumme(int z) { int sum = 0; while (z > 0) { sum += z % 10; z /= 10; } return sum; }
-
Modulus-Operator => Gibt Dir den Rest einer Definition zurück. Also: a % b = r, wobei gilt, es existiert ein q, sodass a = b * q + r. r ist der Rest der Division von a durch b.
-
Gehört übrigens in Ansi C-Forum.
Das %-Zeichen nennt sich Modulo-Operator.
Eine Rechnung mit dem %-Operator liefert dir den Rest einer Division.Beispiel:
7 geteilt durch 5 ist 1 (die 5 passt nur ein einziges mal "ganz" in die 7).
der Rest ist 2.7 % 5 liefert 2.
Für das konkrete Beispiel:
Wenn du eine mehrstellige Zahl % 10 rechnest, liefert er dir die letzte Stelle der Zahl.
123 % 10 = 3 (12 mal passt die 10 in die 123, 3 bleibt übrig).Diese "Modulo-10"-Reste werden aufaddiert.
Nach der Modulo-Rechnung wird der Int mit 10 dividiert. Was nichts anderes bedeutet, als dass die letzte Stelle "weggeschmissen" wird. (Teile nach dem Komma, werden bei Integern abgeschnitten).
123 / 10 = 12 (12.3 - aber da int, nur 12)Und wie unschwer zu erkennen ist, liefert die Funktion somit die Quersumme einer übergebenen ganzzahligen Zahl.
-
Ike schrieb:
Gehört übrigens in Ansi C-Forum.
Ach Quark.
Wie würdest Du den Code denn in C++ anders schreiben und wieso? (Wohlgemerkt, es gibt evtl. gute Gründe, den Code umzuschreiben aber nicht speziell auf C++ gemünzt.)
-
Konrad Rudolph schrieb:
Ike schrieb:
Gehört übrigens in Ansi C-Forum.
Ach Quark.
Wie würdest Du den Code denn in C++ anders schreiben und wieso? (Wohlgemerkt, es gibt evtl. gute Gründe, den Code umzuschreiben aber nicht speziell auf C++ gemünzt.)ich dachte alle probleme, die in c++ komplett in die teilmenge von c fallen, ins ansi-c-forum gehören. meine meinung war, dass hier nur c++-spezifische fragen geklärt werden!?
-
Ich denke bei so einer Frage lohnt sich das verschieben eh nicht...
bzw.
Es gehört auch zu C++ also kann man das wohl in beiden subforen posten...
-
hihi, ich finde diese diskussionen bzgl. c und c++ total lustig...
bin selber gerade von c zu c++ umgestiegen( nach 5 jahren programmierung)
c++ ist eine abwandlung(erweiterung) von c und daher sollten so gut wie alle themen, die im forum "c++" stehen und viel(nur) mit c zu tun haben, trotzdem nicht ins c-forum geschoben werden....hoffe ihr versteht mich

soviel zu mir

-
Nein ... es ist bei weitem nicht nur eine erweiterung ... und davon abgesehen sollten alle C-Sachen auch ins C-Forum ... wenn schon extra eins da ist

-
finde ins ansi-c forum sollten nur ansi-c spezifische dinge. wenn also alle erklärungen, beispiele, annahmen und so weiter strikt unter ansi-c betrachtet werden sollen. für allgemeine fragen ist das c++ forum besser geeignet.
-
Außerdem ist C++ aktuell nicht ganz zum C99 Standard kompatibel, wobei das sich mit dem C++0x Standard wohl ändern wird