C |操作员|问题11

null

#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
喜欢就支持一下吧
点赞13 分享