C | Operators | Question 27
Output of following C code will be?
C
#include <stdio.h> int main() { int a = 0; int b; a = (a == (a == 1)); printf ( "%d" , a); return 0; } |
(A)
0
(B)
1
(C)
Big negative number
(D)
-1
Answer: (B)
Explanation:
We need to figure out value of “(a == (a == 1))”
(a == 1) returns false as a is initialized as 0. So in outer bracket, false is compared with a. Since a is 0, result of of outer bracket becomes true.
The important thing to note is, in C, when a boolean value is compared or assigned to an integer value, false is considered as 0 and true is considered as 1.
Quiz of this Question
Please comment below if you find anything wrong in the above post
Please Login to comment...