Open In App

C | Operators | Question 1

#include \"stdio.h\"

int main() 

{ 

  int x, y = 5, z = 5; 

  x = y == z; 

  printf(\"%d\", x); 

  

  getchar(); 

  return 0; 

}

(A)

0
 



(B)

1
 



(C)

5
 

(D)

Compiler Error
 

Answer: (B)
Explanation:

The crux of the question lies in the statement x = y==z. The operator == is executed before = because precedence of comparison operators (<=, >= and ==) is higher than assignment operator =. 
The result of a comparison operator is either 0 or 1 based on the comparison result. Since y is equal to z, value of the expression y == z becomes 1 and the value is assigned to x via the assignment operator.
 

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

Article Tags :