Skip to content
Related Articles

Related Articles

C | Operators | Question 5

Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 16 Sep, 2021
Improve Article
Save Article

#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.

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!