C Programmierung GNU CC Compiler
-
Hallo,
beschäftige mich gerade mit C-Programmierung. In einem Buch las ich folgende Anweisung: b = 1 - --b;
Der Compiler gibt eine Warnung aus, die für mich nichtssagend ist.
Die Variable b ist als integer Variable definiert, int b=5; !Kann ich es so definieren, b = 1 - (b-1)?
Vielen Dank im Vorraus für Eure Hilfe,
Reinhold
-
@Kwauka_BrKw sagte in C Programmierung GNU CC Compiler:
Der Compiler gibt eine Warnung aus, die für mich nichtssagend ist.
zuweisung und pre-inkrement auf die gleiche variable in einer anweisung erzeugt kuddelmuddel, d.h. ein unvorhersehbares ergebnis.
-
-
@Kwauka_BrKw sagte in C Programmierung GNU CC Compiler:
In einem Buch las ich folgende Anweisung: b = 1 - --b;
Nenne bitte das Buch + Autor.
Hierbei handelt es sich um UB (undefiniertes Verhalten gemäß ISO-C Standard), denn zwischen 2 Änderungen am selben Objekt liegt kein sogenannter sequencepoint.
Der Buchautor hat also keine Ahnung wovon er redet, du solltest das Buch nicht weiterlesen sondern sicher entsorgen - es ist anzunehmen, das dort noch andere falsche Aussagen gemacht werden und die willst du sicher nicht auch alle "lernen".