为什么在以下代码中使用关系运算符的语句的计算结果为 1?

Why is the statement using relation operators evaluate to 1 in the following code?

i的值不应该是0吗? 由于 x

    #include<stdio.h>

    int main(void)
    {
         int x = 10,y=20,z=5,i;
         i=x<y<z;
         printf("%d",i);
         return 0;
    }

在您的代码中,由于关系运算符的 LTR associativity

 i=x<y<z;

评估为

i=(x<y)<z;

也就是

i=(10<20)<z;

也就是

i= 1 < 5;

这是真的 (1)。 1 存储在 i 中。就是这样。