C 多个条件 While 循环

标签 c loops while-loop conditional-statements

不确定我是否只是非常疲倦/精神错乱并且看不到自己在这里做错了什么。

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

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

最佳答案

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

由于 -62 >= 1 为 false (0),因此 abs(0) 也是 0 。因此 while 循环条件始终为 false。

专业提示:始终将常量放在左侧。

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

关于C 多个条件 While 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40797370/

相关文章:

c++ - 使用 for 循环 C++ 反转字符串

c++ - 将 bool 数组视为二进制递增

python - 循环内循环并发

php - while 循环创建关联数组

java - 如何在处理3.4中使用java制作自定义延迟函数?

c - 如何检查我的 C 代码使用的内存?

c - 识别 C 语法

iphone - c/objective-c问题

c - 链接 OpenSSL 时不引用 BIO 函数

sql-server - 如何分离变量和值,然后插入表中?