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

5-14中关于在晚上23点(含)至次日凌晨5点(不含)打车,每公里单价计费加收20%的计算

这个为啥不行

#include <stdio.h>
float fee(t)
{   
    int f=14;
    int n=12;
    float fee;
    if(n<=3)
    {
        fee=f;
    }
    else
    { 
        float d;
        fee=f+d*(n-3);
        if(5<=t<=23)
        {
            d=2.3;
        }
        else
        {
            d=2.3*1.2;
        }
    }
    return fee;
}
int main()
{
    printf("fee=%f",fee(9)+fee(18));
    return 0;
}

这个就行

#include <stdio.h>
float fee(t)
{   
    int f=14;
    int n=12;
    float fee;
    if(n<=3)
    {
        fee=f;
    }
    else
    { 
        if(5<=t<=23)
        {
            fee=f+2.3*(n-3);
        }
        else
        {
            fee=f+2.3*(n-3)*1.2;
        }
    }
    return fee;
}
int main()
{
    printf("fee=%f",fee(9)+fee(18));
    return 0;
}

呢?

正在回答

4 回答

没懂问题_(:зゝ∠)_

0 回复 有任何疑惑可以回复我~
#1

第五佳遥 提问者

啊。。、 就是为啥 float d; int d=2.3; fee=f+d*(n-3); 这个顺序就行 而 float d; fee=f+d*(n-3); int d=2.3; 就不行呢_(:зゝ∠)_
2017-01-11 回复 有任何疑惑可以回复我~
#2

gjfLeo 回复 第五佳遥 提问者

第一,d不是定义为float了么怎么又来个int。。第二,下面那个使用d的时候d还没经过初始化,所以不行。
2017-01-12 回复 有任何疑惑可以回复我~
#3

第五佳遥 提问者 回复 gjfLeo

大神!初始化是啥啊!求指教!
2017-01-13 回复 有任何疑惑可以回复我~
#4

第五佳遥 提问者 回复 gjfLeo

初始化先于变量声明 所以变量声明对应什么呢?
2017-01-13 回复 有任何疑惑可以回复我~
#5

第五佳遥 提问者 回复 第五佳遥 提问者

据说是赋值!
2017-01-13 回复 有任何疑惑可以回复我~
#6

gjfLeo 回复 第五佳遥 提问者

就是说定义一个变量只给他分配了一个地址(一个空间),这个空间里还啥都没有。你现在要调用这个变量里面的值就会出错(因为啥都没有呀)。使用之前要先初始化,也就是先放一个值进去之后才能调用这个变量。
2017-01-17 回复 有任何疑惑可以回复我~
#7

gjfLeo 回复 第五佳遥 提问者

比如 int a; //定义 printf("%d", a);//直接调用了,会出错或者返回一个随机值 int a; //定义 a = 3; //初始化,也就是第一次赋值 printf("%d", a);//调用,这个就不会出错,前两行也可以写成int a = 3;
2017-01-17 回复 有任何疑惑可以回复我~
查看4条回复
#include <stdio.h>
float fee(t)
{   
    int f=14;
    int n=12;
    float fee;
    if(n<=3)
    {
        fee=f;
    }
    else
    { 
        float d;
        if(5<=t<=23)
        {
            d=2.3;
        }
        else
        {
            d=2.3*1.2;
        }
        fee=f+d*(n-3);
    }
    return fee;
}
int main()
{
    printf("fee=%f",fee(9)+fee(18));
    return 0;
}

为啥换个顺序就行了??

0 回复 有任何疑惑可以回复我~
        float d;
        fee=f+d*(n-3);
        if(5<=t<=23)
        {
            d=2.3;
        }
        else
        {
            d=2.3*1.2;
        }

这块该怎么改呢。。

0 回复 有任何疑惑可以回复我~

I got it..

0 回复 有任何疑惑可以回复我~
#1

第五佳遥 提问者

于是产生了新问题。。
2017-01-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

5-14中关于在晚上23点(含)至次日凌晨5点(不含)打车,每公里单价计费加收20%的计算

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信