Answer will be D) gh
Here p will initially point to the "ab",
p += sizeof(int)
This will translate into p = p + 4; // Consider size of int is 4
Now p will point "ij".
(p)[-1];
will translate into *(p - 1), then it will return the address of "gh",
//Why address of "gh", because p is double pointer, hence single pointer will return the address its element.
Then t will have the address of "gh". Hence "gh" will be printed.