#include <stdio.h> int main() { int i = 3; printf ( "%d" , (++i)++); return 0; } |
What is the output of the above program?
(A) 3
(B) 4
(C) 5
(D) Compile-time error
Answer: (D)
Explanation: In C, prefix and postfix operators need l-value to perform operation and return r-value. The expression (++i)++ when executed increments the value of variable i(i is a l-value) and returns r-value. The compiler generates the error(l-value required) when it tries to post-incremeny the value of a r-value.
Attention reader! Don’t stop learning now. Get hold of all the important C++ Foundation and STL concepts with the C++ Foundation and STL courses at a student-friendly price and become industry ready.