let assume pointer size is 8 byte
character size is 1 byte
4. **c++ // ++ and * both are uniary opreator have R to L associativity and c++ is post increment after that line now c point to next memory location ie.8008 as indicated with red.
5. printf ("%s", *++*++c);
++c is pre increment so now c points to 8016 as indicate with green
so it prints 3000 location onwards ie. "bacha"
6. printf ("%s", *++*c+2);
// here c is poining to 8016
so it prints 4002 onward ie "acha"
7. printf ("%c", *++**++c+2);
// here c is poining to 8016
add 2 in the ASCII value of "a" (ascii value of a is 97 and after adding 2 this will be 99) and 99 is the ASCII value of character "c".
so it print c