#include
int main()
{
int a = 10, b = 20, c = 30;
if (c > b > a)
printf("TRUE");
else
printf("FALSE");
return 0;
}
(A)是
(B)虚假
(C)编译器错误
(D)输出取决于编译器答案: (B)
说明:让我们考虑if语句中的条件。由于在表达式“ c> b> a”中有两个大于(>)运算符,因此考虑>的关联性。 >的关联性从左到右。因此,表达式c> b> a被评估为((c> b)> a)。由于(c> b)是关系运算符,因此如果为True,则将返回1,否则为0。因此,这里返回的值为1,然后将其与a进行比较。所以现在,该语句变为(1> a),这是错误的,因此答案return为0,因此,将执行part。
这个问题的测验