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

我的值不应该是0吗? 从x开始

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

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

  i=x 

评估为

 i=(x 

是的

 i=(10<20) 

是的

 i= 1 < 5; 

这是真的(1)。 那个1存储在i 。 而已。