真的,再问一个c语言调用程序的问题,救命啊

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:04:17
问一个c语言调用程序的问题(贴有c程序),救命啊
悬赏分:0 - 离问题结束还有 14 天 23 小时
#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, p1

#include<stdio.h>
void g(float& g1, float& g2, float& g3, float& g4);
int main(void)
{
float p1x, p1y, p2x, p2y;
p1x = 3; p1y = 2; p2x = 3.5; p2y = 7;

g(p1x,p1y,p2x,p2y);

printf("%f %f\n", p1x, p1y);
printf("%f %f\n", p2x, p2y);
return 0;
}

void g(float& g1, float& g2, float& g3, float& g4) //函数用return返回值的时候只能返回一个值。所以如果要有多个返回值的时候的时候最好是用指针或者引用。。。。你在函数里希望改变参数的值,这时候引用是比较最好的。引用用起来简单直观。。。你可以先看看,如果这样改不是你的意思话。再给我说
{
g1-=1.0;
g2-= 2.0;
g3-=2.5;
g4-=4;
}

1) void g(float *p1x, float *p1y, float *p2x, float *p2y)
{
*p1x -= 1.0;
*p1y -= 2.0;
*p2x -= 2.5;
*p2y -= 4.; //4.就表示4.0,建议在使用浮点数的时候,对于象4.0的常数还是保持用4.0,而不是4,写程序是有很多习惯要求的
}
2) g(&p1x, &p1y, &p2x, &p2y)

看您的函数设计及主程序设计很不好.请您在学程序语言的时候一定要注意,学语言要学语法,要学算法,还要学函数包装程序结构等,最后是良好的编程习惯.这4个方面一个都不能缺,职业程序员通常第1条没问题的,但最难的是优秀的程序结构,其次是算法.所以学