I can't understand how are the following codes giving different outputs
#include <stdio.h>
int main()
{
int i=43;
printf("%d\n",printf("%d",printf("%d",i)));
return 0;
}
output: 4321
printf("%d\n",printf("%d",printf("%d ",i)));
output: 43 31
printf("%d\n",printf("%d ",printf("%d ",i)));
output: 43 3 2
printf("%d\n",printf("%d ",printf(" %d ",i)));
output 43 4 2
printf("%d\n",printf(" %d ",printf(" %d ",i)));
output: 43 4 3
and other variations give other outputs too.
How can just a space change a number.
Thanks in advance.