C语言 以下程序打印的输出是什么?如何计算 if 条件表达式



下面给出的代码片段的输出是什么?

int main()
{
    if(0<7<5)
        printf("I am printed");
    else
        printf("I am not printed");
}
  1. 我是印刷的
  2. 我没有打印
  3. 编译器错误
  4. 没有

输出将是"I am printed"的 - 原因是<(小于运算符(是保留关联的。结果,这将是

(0<7)<5

正如事实一样 - 它将计算为 1。所以检查将是 1<5 ,这又是正确的,给你想要的结果。

从标准本身

表达式a<b<c不像普通数学那样被解释。如 语法表明,这意味着(a<b)<c;换句话说,如果a更少 比b,比1c;否则,将0c进行比较。

"I be printed"将在此函数中打印。

(0<7<5)  =>  (0<7)<5  =>  1<5  => true.

最新更新