Skip to content
Related Articles

Related Articles

Improve Article

C | Operators | Question 5

  • Difficulty Level : Medium
  • Last Updated : 16 Sep, 2021




#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-increment the value of a r-value.

Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.
My Personal Notes arrow_drop_up
Recommended Articles
Page :