Open In App

C | Operators | Question 5




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

Quiz of this Question
Please comment below if you find anything wrong in the above post

Article Tags :