gpt4 book ai didi

objective-c - 100 <= x <= 150 作为 if () 中的参数,搞笑

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:14 26 4
gpt4 key购买 nike

我有一个 if 语句,后面跟着几个 else if 语句。所有 if/else if 语句的参数结构如下:

if (100 <= x <= 149) //do this
else if (150 <= x <= 199) //do that
else if ...etc...

然而,出于某种原因,只有第一个 if 语句被执行。 X 可以是 200,并且只识别第一个 if 语句。

我不确定为什么当 X 不符合前面语句的参数时它不继续到下一个 else if 语句。这在 Obj-C 中不起作用吗?任何帮助表示赞赏。谢谢

最佳答案

您需要改写如下语句:

if (x >= 100 && x <= 149) {
} else if (x >= 150 && x <= 199) {
} ...

你的第一个if评估如下:

if ((100 <= x) <= 149)

让我们看看它是如何评估的:

  • 如果x = 200 , 然后 (100 <= 200)为真,因此求值为 1 (这意味着真实)。然后1 <= 149也是如此。
  • 如果x具有小于 100 的值,例如 10 , 然后 (100 <= 10)是假的,因此求值为 0 (这意味着错误)。同样,0 <= 149是真的。

所以不管x的值如何, 整个表达式将永远为真。

关于objective-c - 100 <= x <= 150 作为 if () 中的参数,搞笑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014701/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com