#include <stdio.h>
float money(int t,int a, int e)
{
if(t>=23||t<5)
{
if(a>3)
{
a-=3;
e=2.3*1.2*a; //超出3公里的里程2.3每公里
}
else
{
e=0;
}
}
else
{
if(a>3)
{
a-=3;
e=2.3*a; //超出3公里的里程2.3每公里
}
else
{
e=0;
}
}
return 0;
}
int main()
{
int b=13; //打车起步价为13
int d=1; //打车的燃油附加税
money();
a=12;
t=9;
int n=b+d+e;
printf("小明上班总费用为:%d\n",n);
money();
a=12;
t=18;
int m=b+d+e;
printf("小明下班总费用为:%d\n",m);
return 0;
}
为什么
当
把代码11行20行的那个return extre;删去,然后在23行写return extre;
的时候
返回值extre会是0呢?
#include <stdio.h>
float money(float t,float a)
{
float extre;
if(t>=23||t<5)
{
if(a>3)
{
a-=3;
float extre=2.3*1.2*a;
return extre;
}
}
else
{
if(a>3)
{
a=a-3;
float extre=2.3*a;
return extre;
}
}
return 0;
}
int main()
{
float b=13; //打车起步价为13
float d=1; //打车的燃油附加税
float p=12;
float q=9;
float sum=money(q,p);
printf("小明上班总费用为:%f\n",sum+b+d);
float j=12;
float k=18;
float cost=money(k,j);
printf("小明下班总费用为:%f\n",cost+b+d);
return 0;
}
请问这样对吗?