You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言中满足3种条件的整数判断代码是否正确?

问题分析与修正方案

嘿,我来帮你揪出代码里的小问题~你想用&&连接多个条件的思路完全没问题,问题出在第三个条件的判断逻辑上!

先看你写的代码:

if (input >= 5 && input <= 95 && input %5)

这里的input %5会计算input除以5的余数:

  • 当input能被5整除时,余数是0,而在布尔判断里,0会被当作false,这就导致符合要求的数反而不满足条件;
  • 当input不能被5整除时,余数是非零值,会被当作true,反而会被条件放行——这和你想要的效果完全相反!

修正后的代码

你需要明确判断余数是否为0,把第三个条件改成input %5 === 0(严格相等判断更稳妥):

if (input >= 5 && input <= 95 && input %5 === 0)

如果是在对类型要求没那么严格的场景下,也可以用松散相等input %5 == 0,但推荐用严格相等来避免潜在的类型转换问题。

这样修改后,就能正确筛选出5到95之间(包含边界)且能被5整除的整数啦~

内容的提问来源于stack exchange,提问作者yeahright

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:18:10