#include <stdio.h> 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)是关系运算符,如果为真,则返回1,否则如果为假,则返回0。这里返回的值是1,然后将其与a进行比较。现在,语句变成,(1>a),这是错误的,所以答案是return为0,因此执行else部分。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END