为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会输出68??

#include <stdio.h>

int s(int x,int y)

{

    float pay;

    if(x<=3)

    {

        pay = 14;

    }

    else

    {

        if(5<=y<23)

        {

            pay = (x-3)*2.3+14;

        }

        else

        {

            pay = (x-3)*2.3*1.2+14;

        }

        return pay;

    }

}

int main()

{

    float sum = s(12,9)+s(12,6);

    printf("总费用%f",sum);

    return 0;

}


正在回答

2 回答

float转int时会将小数删掉 你全改成float型

0 回复 有任何疑惑可以回复我~
#1

六6six 提问者

改哪里啊?
2019-01-03 回复 有任何疑惑可以回复我~
#2

DRose25 回复 六6six 提问者

所有的int都改试试
2019-01-09 回复 有任何疑惑可以回复我~

你那个if的条件还可以写成5<=y<2这种形式的吗

0 回复 有任何疑惑可以回复我~
#1

滴咯mook

打错了是5<=y<23
2019-01-01 回复 有任何疑惑可以回复我~
#2

六6six 提问者

什么意思啊?
2019-01-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926210    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

为什么会输出68??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信