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

为啥我的结果不正确?

#include <stdio.h>

float S(float t,float x)

{float m;

if(0<=t<5&&23<=t<24)

{

    if(x<=3)

    {

        m=14;

    }

    else

    {   

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

    }

}

else

{

    if(x<=3)

    {

        m=14;

    }

    else

    {

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

    }

}

return m;

}


int main()

{

    printf("%f",S(9,12)+S(18,12));

    return 0;

}


正在回答

3 回答

&&代表逻辑与 ,是两边的结果都是 true,总结果才为true。

你上面写的

if(0<=t<5&&23<=t<24)

就不对,怎么可能有t既满足小于5,又满足大于23

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

而且没有

if(0<=t<5&&23<=t<24)

你写的这种用法,你试试直接把这句代码下面的计算改成m=1000

结果就是2000,说明了什么。

可以改成

if(t<5||t>=23)

你同时t两边都有比较在c语言中的是无法识别的。

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

应该用|| ,逻辑或

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

举报

0/150
提交
取消

为啥我的结果不正确?

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