Take a look here
printf - C++ Reference[
^]
int i =43;
printf("%d",(printf("%d",(printf("%d",i)))));
the bold printf is done first and prints "43", the return value of the printf is 2 (as in 2 characters printed).
int i =43;
printf("%d",(printf("%d",(printf("%d",i)>))));
this bold printf is next and the operand is 2 (the return value from the first call), and so the number "2" gets printed, the return value from this printf is 1 as only one character was printed.
int i =43;
printf("%d",(printf("%d",(printf("%d",i)>))));
the bold printf here is done last with the number 1 as the operand, so "1" gets printed.
So the expected output would be "4321".