C语言中一个子函数怎么调用另一个子函数的运算?

时间:2021.11.20 发布人:闫0巾0秋陆

C语言中一个子函数怎么调用另一个子函数的运算?

已解决问题

谷歌闫0巾0秋陆用户在2021.11.20提交了关于“心灵捕手C语言中一个子函数怎么调用另一个子函数的运算?”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-26T15:27:48。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,千言万语,表达不了我的感激之情,我已铭记在心 !

希望以下的回答,能够帮助你。

第1个回答

用户名:匿名用户  

方法很多。

主要是要将不同类型传递给fun2处理。

最简单float类型最大,fun2的参数类型就定义为float,然后运算结果返回fl督获齐部啊知养列死oat类型。在main函数用a3,b3,c3接收的时候强转型。

另一种方法,把变量都转换成一种类型传递。这里用union**用体类型就比较适合。唤便扩展,如果想添加其他类型还可以在union里添加。

我这里代码就用第二种方去守庆前标规粉行分弱作法写。

#include

typedefunio低周盐探轮字结ndata{

ch会义否明arc;

inti;

floatf;

}DA;

voidfun1(void);

DAfun2(DAn1,DAn2,intnType);//nType=1:char类型。nType=风速2:int类型。nType=3:float类型。

intma陈乙声虽布士in()

{

fun1()千;

return0;

}

voidfun1(void)

{

chara1=1,a2=2;

intb1=100,b2=300;

fl陆模抗们渐接大表源活oatc1=5.1,c2=6.8;

DAn1,n2;

n1.c=a1,n2.c=a2;

chara3=fun2(n1,n2,1).c;

n1.i=b1,n2.i=b2;

intb3=fun2(n1,n2,2).i;

n1.f=c1,n2.f=c2;

floatc3=fun2案市眼财民参理担(n1,n2,3).f;

printf("a3供=%c

}

DAfun2(DAn1,DAn2,intnType)//nType=1:char现干被现久里息吃间取般类型。nType守光课增=2:int类型。nType=3:float类型。

{

DAn3;

switch(n单明格散领这Type)

{

case1:n3.c=n1.c+n2.c;bre**;

case2:n3.i=n1.i+n2.i;bre**;

case3:n3.f=n察药把劳执专功茶价宗兴1.f+n2.f;bre**;

}

returnn3;

}