我的任务是获取浮动数据的两个一维数组,逐个元素地添加它们以创建第三个数组。我必须将它们专门传递给函数addfloat才能完成此操作,然后将其传递回主程序进行显示。
我遇到的问题是如何存储/引用??? = array1 + array2。如何在主函数中引用新创建的第三个数组?
是的,这是我正在学习的课程。我的在线讲师对我对这个概念的理解没有帮助。他只是一直告诉我提交我的内容。
#include <stdio.h>
void addfloat(float [],float []);
int main ()
{
float SLG [10] = {.508,.504,.473,.415,.407,.379,.388,.340,.405,.278};
float OBP [10] = {.434,.327,.425,.342,.314,.270,.328,.348,.327,.306};
float OPS [10];
int j,k,g,n;
addfloat (SLG,OBP);
printf("Their Slugging Percentages (SLG) are:\n");
for (j=0; j<10; j++)
{
printf("%.3f, ",SLG[j]);
}
printf("\n");
printf("Their On Base Percentages (OBP) are:\n");
for (k=0; k<10; k++)
{
printf("%.3f, ",OBP[k]);
}
/*Place work-around back in here if necessary where I just add the two arrays without passing it out*/
printf("\n");
printf("Their Slugging Percentage (OPS) are:\n");
for (g=0; g<10; g++)
{
printf("%1.3f, ", OPS[g]);
}
return 0;
}
void addfloat (float SLG[],float OBP[])
{
float OPS [10];
int i;
for (i=0; i<10; i++)
{
OPS[i] = SLG[i]+OBP[i];
}
return (OPS[]);
}
答案 0 :(得分:0)
我的理解是数组只是指向数组中第一个数据的指针。
那是错的,数组是数组,指针是指针,它们不一样。 Read this.
如何在main函数中引用新创建的第三个数组?
返回一个动态分配的新数组?将第三个参数传递给函数?这么多方面。 E. g。:
void add_floats(const float a[], const float b[], float y[], size_t n)
{
for (size_t i = 0; i < n; i++)
y[i] = a[i] + b[i];
}
称之为:
#define COUNT 3
float first[COUNT] = { 1, 2, 3 };
float second[COUNT] = { 4, 5, 6 };
float result[COUNT];
add_floats(first, second, result, COUNT);