Ans is (2) - bba
char *A[] = { "abcx", "dbba", "cccc"};
char var = *(A+1) - *A+1;
cout << (*A + var);
Put the value of var as it is in cout expression
cout << (*A + *(A+1) - *A + 1);
*A and -*A is cancelled out
We get
cout << *(A+1) + 1;
Now the name of the array holds the address of first element of the array. In this case A will point to "abcx", A+1 will point to "dbba"
*(A+1) will give us the string "dbba"
Now since string literals is also a const char*
Adding 1 to it will make the pointer move forward by 1 byte, i.e. its gonna point to "bba"
And thus when you'll print it, the ans will be bba