小白又来了4
今天有事忙,今天没学多少{:9_226:}请问c语言里
3 < a< 9
是什么意思,和python的不一样(被惯坏力) 表达式的求值过程
表达式 3 < a < 9 的计算顺序:
在 C 语言中,比较操作符 < 的优先级高于 < 操作符,所以表达式 3 < a < 9 会被分解成两个部分:
3 < a:这个比较操作会首先执行,结果是布尔值(在 C 语言中,true 和 false 分别对应整数 1 和 0)。
然后结果会被用作第二个比较操作的左操作数,与 9 进行比较。
示例:
假设 a 的值是 5。
3 < a 计算结果是 true(在 C 语言中 true 代表 1)。
因此,表达式变成 1 < 9,结果是 true(即 1)。
实际行为
在 C 语言中,表达式 3 < a < 9 实际上等价于 (3 < a) < 9。这通常不是我们期望的结果。正确的做法是使用逻辑与运算符 && 来进行范围检查:
if (3 < a && a < 9) {
// a 在 3 和 9 之间
}
这样,你可以确保 a 的值同时满足两个条件,即大于 3 且小于 9。 3 < a:先评估这个表达式。如果 a 大于 3,则结果为 1(真);否则为 0(假)。
1 < 9 或 0 < 9:接着评估这个结果与 9 的比较。无论是 1 还是 0,与 9 比较结果都为真。
没错,在C语言中,3 < a < 9 是两段式的!!
执墨尘 发表于 2024-8-12 03:59
表达式的求值过程
表达式 3 < a < 9 的计算顺序:
谢谢 小甲鱼的二师兄 发表于 2024-8-12 04:46
3 < a:先评估这个表达式。如果 a 大于 3,则结果为 1(真);否则为 0(假)。
1 < 9 或 0 < 9:接着评 ...
谢谢
页:
[1]