請大佬幫忙檢查
#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;
}
2019-02-22
為什么
當
把代碼11行20行的那個return extre;刪去,然后在23行寫return extre;
的時候
返回值extre會是0呢?
2019-02-22
#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;
}
請問這樣對嗎?