Why does the following snippet produces different result than expected?
#include <stdio.h>
int main()
{
int i = 5;
printf("%d %d %d", i++, i++, ++i);
getchar();
}
I compiled and run this code with Visual C++ 2010 and it produces the output
7 6 8
instead of
7 6 6
Why?