Le programme suivant comprend simplement des opérations d'incrémentation et de décrémentation. Comme ma prédiction le programme devrait imprimer "0 1 1 1" mais il imprime "1 0 2 0" à la place, mais pourquoi?Le chaînage "cout" lors de l'exécution de l'incrémentation et de la décrémentation produit un résultat inattendu.
#include<iostream>
using namespace std;
int main(void)
{
int i=0;
cout<<i++<<" "<<i++<<" "<<--i<<" "<<i++;//this will print "1 0 2 0"
}
... mais il fonctionne très bien si je fais chaîne pas la commande de sortie comme,
cout<<i++<<endl;
cout<<i++<<endl;
cout<<--i<<endl;
cout<<i++<<endl;
Même si elles doivent travailler de la même manière, mais ils produisent des résultats différents. Mais pourquoi?
enter code here