问一个c语言调用程序的问题(贴有c程序),救命啊

来源:百度知道 编辑:UC知道 时间:2024/05/26 01:17:19
#include<stdio.h>
int main(void)
{
float p1x, p1y, p2x, p2y;
float g(float g1, float g2, float g3, float g4);

p1x = 3; p1y = 2; p2x = 3.5; p2y = 7;

(调用g(float g1, float g2, float g3, float g4))

printf("%f %f\n", p1x, p1y);
printf("%f %f\n", p1x, p1y);
}

float g(float g1, float g2, float g3, float g4)
{
int i, j, n;
float ar[2][2] = {{g1, g2}, {g3, g4}};
float ars[2][2] = {{1, 2},{2.5, 4}};
float arg[2][2];

n = 2;

for(i = 0; i < n; i ++){
for(j = 0; j < n; j ++){
arg[i][j] = ar[i][j] - ars[i][j]; /*如何return?*/
}
}
}

main()函数里面给出了p1x, p1y, p2x, p2y的值,通过调用函数把这四个值传递给g1,g2,g3,g4。然后呢,在调用函数g(float g1, float g2, float g3, float g4)里面对p1x, p1y, p2x, p2y进行减法运算,把减法运算的结果返送回main()函数中,并且通过main()中的两个printf()将减法运算的结果p1x, p1y, p2x, p2y输出。
问题是,如何写括号中的调用(main()中,我用括号括起来的那部分)?

#include<stdio.h>
float g(float *g1, float *g2, float *g3, float *g4)
{
int i,j,n;
float ar[2][2];
float ars[2][2] = {{1, 2},{2.5, 4}};
float arg[2][2];
ar[0][0]=*g1;ar[0][1]=*g2;ar[1][0]=*g3;ar[1][1]=*g4;
n = 2;
for(i = 0; i < n; i ++) for(j = 0; j < n; j ++) arg[i][j] = ar[i][j] - ars[i][j];
*g1=arg[0][0];*g2=arg[0][1];*g3=arg[1][0];*g4=arg[1][1];
}

int main(void)
{
float p1x=3, p1y=2, p2x=3.5, p2y=7;
g(&p1x,&p1y,&p2x,&p2y);
printf("%f %f\n", p1x, p1y);
printf("%f %f\n", p1x, p1y);
}