下面给出的代码片段的输出是什么?
int main()
{
if(0<7<5)
printf("I am printed");
else
printf("I am not printed");
}
- 我是印刷的
- 我没有打印
- 编译器错误
- 没有
输出将是"I am printed"
的 - 原因是<
(小于运算符(是保留关联的。结果,这将是
(0<7)<5
正如事实一样 - 它将计算为 1。所以检查将是 1<5
,这又是正确的,给你想要的结果。
从标准本身
表达式
a<b<c
不像普通数学那样被解释。如 语法表明,这意味着(a<b)<c
;换句话说,如果a
更少 比b
,比1
比c
;否则,将0
与c
进行比较。
"I be printed"将在此函数中打印。
(0<7<5) => (0<7)<5 => 1<5 => true.