Q. Determine Output

Code:
void main()
{
      char *p="hi friends", *p1;
      p1=p;
      while(*p!='\0') ++*p++;
      printf("%s", p1);
}
  • (A) hi friends
  • (B) ij!gsjfoet
  • (C) hj grjeodt
  • (D) None of These
πŸ’¬ Discuss
βœ… Correct Answer: (B) ij!gsjfoet
Explanation: ++*p++ will be parse in the given order :
1. *p that is value at the location currently pointed by p will be taken
2. ++*p the retrieved value will be incremented
3. when ; is encountered the location will be incremented that is p++ will be executed.
Explanation by: Rajeev Malhotra
++*p++ will be parse in the given order :
1. *p that is value at the location currently pointed by p will be taken
2. ++*p the retrieved value will be incremented
3. when ; is encountered the location will be incremented that is p++ will be executed.

πŸ’¬ Discussion


πŸ“Š Question Analytics

πŸ‘οΈ
224
Total Visits
πŸ“½οΈ
4 y ago
Published
πŸŽ–οΈ
Rajeev Malhotra
Publisher
πŸ“ˆ
83%
Success Rate