-ulk hat geschrieben:Nachdem die Registrierung offenbar nicht funktioniert - ich bekomme nur Fehlermeldungen von wegen diese Domain wird von Spam-Bots malträriert

Ich vermute Du hast eine yahoo oder gmail-Adresse, die wir aufgrund viele Spambots, die diese Domains benutzen, komplett abschalten müssen.
Wenn Du gerne dauerhaft am Geschehen teilnehmen möchtest, kann ich Dir Deine spezielle Adresse jedoch freischalten. Maile mir dafür bitte einfach an MeinUsernameHier at DieseDomain punkt org.
Ich würde diese Frage dann gerne auch ins C/C++ Board verschieben, denn hier gehört sie eigentlich nicht rein.
-ulk hat geschrieben: - stelle ich meine kurze Frage eben hier... Ich hoffe das macht keine Umstände.
Ich bin absoluter C-Neuling und komme bei einer Übung zu Variablendeklaration usw einfach nicht weiter:
Code: Alles auswählen
int a=0, b=2, c=3, d=4;
a = ++b * d++ * ++c * (-1); //Lösung: a=-48
Wenn ich das Programm compile und ausführen lasse spuckt es mir -48 aus.
Wenn ich es von Hand oder mit Taschenrechner rechne kommt aber -60 raus...
(2+1) * (4+1) * (3+1) * (-1) = (-60)
Habe das jetzt mehrfach durchgererchnet, trotzdem widersprechen sich Schulmathematik und Rechenmaschine

Setze ich die Klammern falsch oder was ist da los? (2*4*3*-1+3) gibt ja auch nicht (-48)...
Okay, rechnen wir mal:
Da steht (2+1) * (4) * (3+1) * (-1)
3 * 4 * 4 * -1 macht bei mir -48.
Es bleibt bei 'd' bei 4, weil es d++ ist - erst rechnen, dann erhöhen.
Es ist ein Unterschied, ob Du ++x schreibst (erst erhöhen, dann verrechnen) oder x++ (erst verrechnen, am Schluss erhöhen).
Und vorsicht: Wenn Du eine Variable in einem Ausdruck mehrfach mit ++ oder -- veränderst, ist das Ergebnis undefiniert.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.