Witam
Mam taki kod:
#include<iostream>
void function(int a, int b, int c, int d)
{
std::cout << a << " " << b << " " << c << " " << d << std::endl;
}
int main()
{
int b = 0;
function(++b,++b,++b,++b);
function(b++,b++,b++,b++);
return 0;
}
Program zwraca:
4 4 4 4
7 6 5 4
Wie ktoś może dlaczego tak sie wyświetla w przypadu użycie operatora postinkrementacji jako argumentu funkcji?
Czy ma to związek z odkladaniem na stos? A także czemu są czwórki na początku a nie np. 1,2,3,4...
Podobny kod w Javie wyświetla:
1 2 3 4
4 5 6 7 ...