是Zoria~ 2023-03-01 16:18 采纳率: 58.3%
浏览 11
已结题

c语言条件语句问题求解答

为什么这个的结果是2而不是1呢


#include<stdio.h>
int main()
{
    float f1=0.1;
    if(f1==0.1)
    printf("1");
    else
    printf("2");
    return 0;
}
  • 写回答

3条回答 默认 最新

  • 以山河作礼。 新星计划导师 2023-03-01 16:20
    关注

    因为浮点数的运算是不准确的,f1实际上等于0.100000001,跟0.1不相等,所以输出2。

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

报告相同问题?

问题事件

  • 系统已结题 3月9日
  • 已采纳回答 3月1日
  • 创建了问题 3月1日