#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
    int i = 2;
    printf("%d %d\n", ++i, ++i);
    i = 2;
    printf("%d %d\n", i++, i++);
    return 0;
}
Output:
4 4
3 2
I know that arguments are passed from right to left in printf(). But if I'm getting a 3 2 in the second line, why don't I get a 4 3 in the first line?
 
     
     
     
    