inkrementacja / dekrementacja

0

int x, y = 5;
x = ++y * 2;
x = y++;
x = y--;
Console.WriteLine(++y);
W pierwszej linii wynik wychodzi
x=12 y=6
i tu własnie moje pytanie skąd się wzięło się 6,bo według mnie powinno być 12

1

A czy masz gdzieś tam y = y x 2? Ja tam tylko widzę y = y+1. To, ze za x podstawiasz y x 2, nie powoduje równoczesnego pomnożenia tegoż.

1

Tak jak napisał kolega wyżej, do y nie przypisujesz tego mnożenia razy dwa. Jedyne co robisz to inkrementujesz o 1 (a jako, że jest to preinkrementacja to najpierw jest +1 a potem zwracanie wartości czyli 6). Później robisz y * 2 (6 * 2) i wynik przypisujesz do x, ale nie do y.

1 użytkowników online, w tym zalogowanych: 0, gości: 1