纸面
2018-08-31 17:48
#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;
}
&&代表逻辑与 ,是两边的结果都是 true,总结果才为true。
你上面写的
if(0<=t<5&&23<=t<24)
就不对,怎么可能有t既满足小于5,又满足大于23
而且没有
if(0<=t<5&&23<=t<24)
你写的这种用法,你试试直接把这句代码下面的计算改成m=1000
结果就是2000,说明了什么。
可以改成
if(t<5||t>=23)
你同时t两边都有比较在c语言中的是无法识别的。
应该用|| ,逻辑或
C语言入门
926207 学习 · 20797 问题
相似问题