【问题标题】:C Multiple Conditions While Loop [closed]C多个条件While循环[关闭]
【发布时间】:2023-03-10 06:28:01
【问题描述】:

不确定我是否只是非常疲倦/精神错乱,没有看到我在这里做错了什么。

i = 7
decTemp = -62
while((i >= 0) && (abs(decTemp >= 1))){
    /* do stuff */
    i--;
}

这个while循环被完全跳过了,我已经检查过了,似乎根本不满足条件,这很奇怪,因为i大于0并且decTemp的绝对值大于1。请帮助:((

【问题讨论】:

  • 你认为abs(decTemp >= 1) 会做什么?你想做什么?
  • 您是否在调试器中运行或打印了这些片段,以便确认一切都是您认为的那样?
  • 你应该学会看你放的地方()。

标签: c loops while-loop conditional-statements


【解决方案1】:

您可能是想说abs(decTemp) >= 1,而不是abs(decTemp >= 1)

由于-62 >= 1 为假(0),abs(0) 也是0。所以while 循环条件总是假的。

专业提示:总是将常量放在左侧。

while ((0 <= i) && (1 <= abs(decTemp))) {
    i--;
}

【讨论】:

  • 我确实太累了哈哈,有点代码盲。谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-03-15
  • 2016-10-08
  • 2021-05-24
  • 1970-01-01
  • 2013-09-19
  • 2011-11-02
  • 2015-12-16
  • 1970-01-01
相关资源
最近更新 更多