Run the code and insert some diagnostic
printf
s or
operator >>
s in to see what the intermediate values are. So with the first load of declarations you could do something like:
char * A[] = {"C", "C++", "JAVA", "PHP"};
for( auto t: A ) std::cout << t << std::endl;
Rinse and repeat for the subsequent lines and break that horrible, final expression up into manageable chunks.
If you do all that you will find the answer is "AVA".
Please don't write code like this in real life though. There are
generally better ways of representing this sort of thing in C++.