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

Related Articles

C Quiz – 103 | Question 2

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

What’s going to happen when we compile and run the following C program snippet?




#include "stdio.h"
int main()
{
 int a = 10;
 int b = 15;
  
 printf("=%d",(a+1),(b=a+2));
 printf(" %d=",b);
  
 return 0;
}

(A) =11 15=
(B) =11 12=
(C) Compiler Error due to (b=a+2) in the first printf().
(D) No compile error but output would be =11 X= where X would depend on compiler implementation.


Answer: (B)

Explanation: As per C standard C11, all the arguments of printf() are evaluated irrespective of whether they get printed or not. That’s why (b=a+2) would also be evaluated and value of b would be 12 after first printf(). That’s why correct answer is B.

Quiz of this Question

My Personal Notes arrow_drop_up
Last Updated : 28 Jun, 2021
Like Article
Save Article
Similar Reads