gpt4 book ai didi

c - 为什么if条件不满足?

转载 作者:行者123 更新时间:2023-11-30 20:29:07 24 4
gpt4 key购买 nike

我正在编写一段代码,如果条件不起作用,则由于以下原因而失败。请注意 min=3 和 range=18。两者都是整数。

if ((8 >= (min+2*range/10)) && (8 < (min+3*range/10)))
printf("it works\n");

最佳答案

首先让我们看第一个表达式:

(min+2*range/10)

将值替换后,您将得到:

(3+2*18/10)

乘法和除法的优先级相同,并且两者的优先级更高,因此先乘法,然后除法,然后加法。所以我们有:

3+2*18/10 == 3+36/10 == 3+3 == 6

请注意,除法是整数除法,这意味着任何小数部分都会被截断。这给了我们 8 >= 6这是真的。

现在我们看第二部分:

(min+3*range/10)

这与最后一个表达式相同,用 2 代替 3。所以这变成:

3+3*18/10 == 3+56/10 == 3+5 == 8

这给我们留下了 8 < 8这是假的,所以整个表达式都是假的。

关于c - 为什么if条件不满足?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58966736/

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