Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Algorithms Quiz | SP2 Contest 1 | Question 2

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Predict the output of the below C program: 

C




#include <stdio.h>
  
int main() 
{
    int i = 2, j = -2;
      
    if((printf(\"%d\", j)) < (printf(\"%d\", i)))
       printf(\"%d\", i);
    else
       printf(\"%d\", j);
      
    return 0;
}

(A)

2-22

(B)

-22-2

(C)

222

(D)

Compilation Error


Answer: (B)

Explanation:

We know that printf() returns the number of character it prints. Hence printf(“%d”,j) will return -2 and newline i.e. 3 characters, and printf(“%d”, i) will return 2 and newline i.e. 2. Thus if statement will look like (3 > 2) which is false. So the else block is executed followed by the execution of printf() statements within the if condition.


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

My Personal Notes arrow_drop_up
Last Updated : 02 Nov, 2022
Like Article
Save Article
Similar Reads