下面给出的代码段的输出是什么?
int main()
{
if(0<7<5)
printf("I am printed");
else
printf("I am not printed");
}
答案 0 :(得分:6)
输出为"I am printed"
- 原因是<
(小于运算符)是左关联的。结果这将是
(0<7)<5
并且确实如此 - 它将评估为1.因此检查将为1<5
,这也是正确的,为您提供所需的结果。
来自standard本身
表达式
a<b<c
不能解释为普通数学。如 语法表明,它意味着(a<b)<c
;换句话说,如果a
更少 比b
,将1
与c
进行比较;否则,请将0
与c
进行比较。
答案 1 :(得分:2)
“我打印”将在此功能中打印。
(0<7<5) => (0<7)<5 => 1<5 => true.