Salve ragazzi, ho da poco iniziato a studiare il C++ e ho appena iniziato gli operatori di incremento e decremento, credevo di averli capiti ma poi il libro mi fa questo esempio:
#include <iostream>
using namespace std;
main ()
{
int n=5, t;
t=++n * --n;
cout<<"n = "<<n<<" t = " <<t<<endl;
cout<<++n<<" "<<++n<< " "<<++n<<endl;
}
Dicendomi che il risultato del secondo "cout" avrebbe dovuto essere 6, 7 e 8, mentre a me viene 8, 8 e 8. Credevo fosse un errore, ma scrivendo gli stessi operatori in righe diverse il risultato è quello del libro.
Ho anche provato a modificare il codice con
cout << n++ << " " << n << " " << ++n << endl;
Ottenendo come risultato 6, 7 e 7 mentre su righe diverse viene 5, 6 e 7.
So che è una domanda stupida, ma io non sono proprio riuscito a trovare una spiegazione.
Qualcuno sarebbe così gentile da aiutarmi?