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

这个程序编译有错误,谁能帮我解答一下,急~?

这个程序编译有错误,谁能帮我解答一下,急~?

C
是慕粉啊 2017-10-06 22:22:01
#include <stdio.h>float taxitee(int t,int d){     float money;     if(t>=5&&t<=23)     {         if(d<=3)         {             money=14;             printf("打车费用是%s元",money);             return 14;         }         else         {             taxitee=13+2.3*(d-3)+1;             printf("打车费用是%s元",money);             return money;         }     }     else if(t<=5&&t>=23)     {         if(d<=3)         {             money=14;             printf("打车费用是%s元",money);             return 14;         }     }     else     {         money=13+2.3*1.2*(d-3)+1;         printf("打车费用是%s元",money);         return money;       }}int main(){ printf("小明每天打车总费用:%f",taxitee(9,12)+taxitee(18,12)); return 0; }

1 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

既然你说是报编译错误,那应该是有语法错误:

if(d<=3) 这个 if 的 else 中,你写了 taxitee=13+2.3*(d-3)+1;   看起来你想写 money 吧?却错写成了 taxitee。taxitee 是函数名,放在等于号左侧自然就错了。


除了上面的语法错误。 虽然你的代码我没有细看,但有一处明显的逻辑问题:

else if(t<=5&&t>=23) 这里条件中你用了逻辑与&&,这表示的条件是“t 既小于等于 5 又大于等于 23”,显然是不可能的,显然这个分支永远不会进入。  也许你应该用逻辑或||

查看完整回答
反对 回复 2017-10-07

添加回答

代码语言

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信