帮忙看下这个程序的实际参数和形式参数是什么?谢谢

void main ()
{ void face ();
float u_r(float x);
float u_h(float y);
void func_2();
void func_3();
int number;
face();
printf("please input your chose:");
scanf("%d",&number);
switch(number)
{ case 1:
scanf("%f",&a);
b=u_r(a);
c=u_r(b);
printf("%fUSD=%fRMB=%fHKD,\n",a,b,c);
break;
case 2:func_2();break;
case 3:func_3();break;
default :printf("error\n");
}
}
void face()
{printf("this is a conversion software among various currency\n");
printf("1 USD TO RMB TO HKD\n");
printf("2 RMB TO USD TO HKD\n");
PRINTF("3 HKD TO USD TO RMB\n");
}
float u_r(float x)
{float x1;
x1=USDRMB*x;
return(x1);
}
float u_h(float y)
{
float x2;
x2=USDHKD*y;
return(x2);
}
void func_2()
{printf("RMB TO USD TO HKD\n");
scanf("%f",&a);
b=u_r(a);
c=u_h(b);
printf("%fRMB=%fUSD=%fHKD,\n",b,a,c);
}
void func_3()
{printf("HKD TO USD TO RMB\n");
scanf("%f",&a);
b=u_r(a);
c=u_h(b);
printf("%fHKD=%fUSD=%fRMB,\n",c,a,b);
}
老师说什么三个程序换率都一样,该怎样改?

第1个回答  2012-04-27
这个很容易分辩的,实际参数就是你调用函数时,传递进去的参数,例如你上面写的b=u_r(a);
c=u_r(b);,这里的a和b就是实际参数,。而形式参数就是,你定义函数时的参数名,例如上面的:
float u_r(float x)
{float x1;
x1=USDRMB*x;
return(x1);
}
()里的x就是形式参数。
第2个回答  2012-04-27
a,b是实际参数,x,y是形式参数。
在主调函数中调用一个函数时,函数名后面括弧中的参数(可以是一个表达式)称为“实际参数”。
自定义函数中的“形参”全称为"形式参数"。目的是用来接收调用该函数时传入的参数。
你的程序里主函数与子函数中都缺少自变量的定义。

没太明白你说的换率一样啥意思。想得到什么结果。本回答被提问者采纳
相似回答