菲的男人 2022-04-05 16:11 采纳率: 100%
浏览 37
已结题

#c语言,if语句单条件,多范围的判定,出现了两种结果

if (BM < 18.5)
{
    printf("根据中国成年人体质指数评价指标,您属于消瘦体质(营养不良\n)");
}
if (18.5 < BM < 23.9)
{
    printf("根据中国成年人体质指数评价指标,您属于正常体质\n");
 }
if (24 < BM < 27.9)
{
    printf("根据中国成年人体质指数评价指标,您属于超重\n");
 }

if (BM > 28)
{
    printf("根据中国成年人体质指数评价指标,您属于肥胖\n");
}
return 0;

}
这个输出结果会出现两种结果,求解为什么

img

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-04-05 17:21
    关注

    if (18.5 < BM < 23.9) 应该这么写:if (18.5 < BM && BM < 23.9)
    if (24 < BM < 27.9) 应该这么写:if (24 < BM && BM < 27.9)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 创建了问题 4月5日