编写函数,其功能是对传送过来的两个浮点数进行+,-,*,⼀运算,并把4个运算结果传回调用 c语言

2025-03-21 22:57:36
推荐回答(2个)
回答(1):

你的问题出在这里:scanf("%f\n",&a);scanf("%f\n",&b);
输入是不需要加\n这个的,当然你加也行,但是计算机在执行scanf("%f\n",&a)时是无法判断你什么时候输入结束的。
怎么讲呢,按你的意思 你得 输入 2 回车,3, 然后出现“please input b=”再输入一个 4;
计算机得到的数据其实是 a=2,b=3 而不是a=2,b=4. 因为计算机是按你输入的数字的先后顺序取数的。把2给了a,然后输入的3就留给了稍后需要输入的b 了。

回答(2):

//没包含头文件
void fun(float x,float y,float *m,float *n) //在定义函数的时候要写参数类型的,因为你在函数里面不需要返回值,所以返回类型不应该是float,应是void
{*m=x+y;
if(x>=y)*n=x-y;
else *n=y-x;
}
main()
{float a,b,c,d;
scanf("%f%f",&a,&b);
fun(a,b,&c,&d);
printf("%f%f\n",c,d); }//这里漏了一个"}"

你的问题都是出在函数上面