為啥我的結(jié)果不正確?
#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;
}
2018-09-02
&&代表邏輯與 ,是兩邊的結(jié)果都是 true,總結(jié)果才為true。
你上面寫的
if(0<=t<5&&23<=t<24)
就不對(duì),怎么可能有t既滿足小于5,又滿足大于23
2018-09-02
而且沒(méi)有
if(0<=t<5&&23<=t<24)
你寫的這種用法,你試試直接把這句代碼下面的計(jì)算改成m=1000
結(jié)果就是2000,說(shuō)明了什么。
可以改成
if(t<5||t>=23)
你同時(shí)t兩邊都有比較在c語(yǔ)言中的是無(wú)法識(shí)別的。
2018-09-02
應(yīng)該用|| ,邏輯或