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
Last Updated :
08 May, 2017
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...