C 带比较运算符的布尔输出

C 带比较运算符的布尔输出,c,boolean-operations,C,Boolean Operations,为什么以下C代码的输出为1(True) #包括 main() { int a,b=1,c=3,d=2; a=b

为什么以下C代码的输出为1(True)

#包括
main()
{
int a,b=1,c=3,d=2;
a=b

而同一表达式在python中给出“False”。

请检查从左到右的求值顺序

b语句

a=b<c<d;
a=b
a=(b

应返回所需的值。

条件运算符根据条件检查始终返回
TURE
FALSE
。我已编辑了您的标题。请看主题您提供的答案与问题毫无关联。@Madan,在某种程度上是相关的(尽管它没有明确回答问题)。顺便说一句,试着自己专注于精确!在OP的代码或问题中,您在哪里看到了条件运算符?这肯定是
正确的
,而不是
正确的
。这是对真正问题的回答。OP想知道为什么它的代码不能像他想的那样工作,以及如何使它工作
a=b<c<d;
a = ( b < c ) < d;
a = ( b < c ) && ( c < d );
a = ( b < c ) < d;
a = ( b < c && c < d)