Open In App

A Puzzle on C/C++ R-Value Expressions

What will be the output of following program?




#include <stdio.h>
int main()
{
   int i = 0xAA;
   ~i, printf("%X\n", i);
  
   return 0;
}

Output: 0xAA

No change in i value, the emphasis is on l-value and r-value expressions. The expression ~i is an r-value, it has to be assigned to an l-value to retain the change.

Puzzle phrased by Venki

Article Tags :
C++