为什么错了

来源:5-14 综合练习

世纪__

2016-02-01 22:40

#include <stdio.h>
float taxifee(int time,int miles)
{
    float fee
    if (miles<=3)
    {
        taxifee=14;
        printf("费用为14\n");
    }
    else
    {
        if (time>=23||time<5)
        {
            fee=1+13+2.3*(miles-3)*1.2;
        }
        else
        {
            fee=1+13+2.3*(miles-3);
        }
    }
    return taxifee;
}
int main()
{
    printf("费用为%.1f\n",taxifee(9,12)+taxifee(18.12));
    return 0;
}

写回答 关注

2回答

  • aloys1988
    2016-02-02 12:46:07
    已采纳


    2:你的自定义函数最后的 return taxifee;  c语言是识别的,它不知道taxifee是什么意思,你应该改成 return fee;(如果你的if每个分支后都加了 return fee;那么最后的那个 return fee;也可以删掉不要)

    #include <stdio.h>

    float fn(float k , int t )

        {

            float sum;

            if(k<=3)

            {

                sum=13+1;

            }

            else

            {

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

                {

                    sum=14+(k-3)*2.3;

                }

                else

                {

                    sum=14+(k-3)*2.3*1.2;

                }

            }

            return sum;

        }

    int main()

    {

        float SUM = fn(12,9)+fn(12,18);

        printf("小明每天打车的总费用为%f元\n",SUM);

        return 0;

    }


    世纪__

    我不是开始是定义的了taxifee这个变量了吗,return返回值不可以是taxifee吗

    2016-02-02 23:04:09

    共 2 条回复 >

  • 方茂昇求是
    2016-02-02 11:40:16

    float fee后面没有加分号

    世纪__

    谢谢~

    2016-02-02 23:02:37

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926028 学习 · 20793 问题

查看课程

相似问题