Welche Zuweisung findet zuerst statt?
-
Hallo, ich wollte wissen warum man sich sicher sein kann, dass c den Wert 5 bekommt und nicht zuerst die linke Seite der Rechnung durchgeführt wobei b den Wert 5.5 bekommt und später somit c ebenfalls den Wert 5.5 bekommt? Vielen Dank für eure Rückmeldungen!
Quellcode:
int main()
{
double a=1, b=5, c=6;
cout << (b=(a=b+0.5)+(c=b)); // Problem?
cout << a/2 << b/2 << c/2;
}
Ausgabe: 10.52.755.252.5
-
Da kann man sich nicht sicher sein, das Verhalten ist undefiniert. Das mag sich auf deinem System, bei deinem Compiler, zu dieser Mondphase so verhalten, anderswo kann es aber ganz anders sein.
-
Ok, danke dir!
