C | Operators | Question 11
(C) Compiler Error
(D) Output is compiler dependent
Explanation: Let us consider the condition inside the if statement. Since there are two greater than (>) operators in the expression “c > b > a”, associativity of > is considered. Associativity of > is left to right. So, expression c > b > a is evaluated as ( (c > b) > a ). And since the (c > b) is being the relational operator it will return 1 if True otherwise 0 is if False. So here the value returned is 1 and then it is compared to the a. so now, the statement becomes, (1 > a), which is false, so the answer, return is 0, therefore, else part is executed.
Quiz of this Question