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

#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;

}


是慕粉啊
浏览 1304回答 1
1回答

onemoo

既然你说是报编译错误,那应该是有语法错误:if(d<=3) 这个 if 的 else 中,你写了 taxitee=13+2.3*(d-3)+1;   看起来你想写 money 吧?却错写成了 taxitee。taxitee 是函数名,放在等于号左侧自然就错了。除了上面的语法错误。 虽然你的代码我没有细看,但有一处明显的逻辑问题:else if(t<=5&&t>=23) 这里条件中你用了逻辑与&&,这表示的条件是“t 既小于等于 5 又大于等于 23”,显然是不可能的,显然这个分支永远不会进入。  也许你应该用逻辑或||。
打开App,查看更多内容
随时随地看视频慕课网APP