c如何计算小于和大于表达式?



我想知道如何在C语言中评估这段代码?

int x = 10, y = 20, z = 5, i;
i = x < y < z;
printf("%dn",i);

如果条件为真,则关系运算符的结果为整数1,否则为0。关系运算符从左到右求值

那么这个语句

i = x < y < z;

等价于

i = ( x < y ) < z;

由于x小于y所以也可以写成

i = 1 < z;

将变量I初始化为1,因为1小于5。

来自C标准(6.5.8关系操作符)

6各操作符<(小于),>(大于),<=(小于)或等于)和>=(大于或等于)将产生1,如果指定的关系为真,如果为假则为0int类型。

如果您将语句重写为

i = x < y && y < z;

则表达式的结果将等于0,因为y不小于z。

相关内容

  • 没有找到相关文章

最新更新