increment operators in pointers

Please explain how the output of program is :
v1 = 36, v2 = 1010, v3 = 1010

int main()

{

int v1=35,*v2,*v3;

v2 = &v1; // Suppose address of v1 is 1006

v3 = v2;

*v2++ = *v3++;

v1++;

printf("v1 = %d, v2 = %d, v3 = %d",v1 ,v2 ,v3 );

}

1Comment
Sumit Verma @sumitkgp
16 Jan 2017 07:45 pm

Line, *v2++ = *v3++; can be understood as, *(v2++) = *(v3++); (Right to left Associativity)
Here v3 = v2 = &v1=1006
v3++ = 1010 (If integer takes 4 B)
v2++ = 1010 
v1++ = 36.