gpt4 book ai didi

c - 如何在不使用结构体的情况下在一个函数中返回两个值?

转载 作者:行者123 更新时间:2023-11-30 18:53:12 25 4
gpt4 key购买 nike

        #include <stdio.h>
#include <stdlib.h>


double calculate(int ar[], int npts, int *gtr);


int main()
{

int ar[4] = {1,2,3,0};
double result;
result = calculate(ar,4, &ar);
printf("%lf ",result );


return 0;
}


double calculate(int ar[], int npts, int *gtr)
{
double total =0;
int i = 0;

double average;

for(i=0; i<npts; i++)
{
total = total + ar[i];
}

average = total / npts;
return average;

for(i=0; i<npts; i++)
{
if(average < ar[i])
{
*gtr++;
}
}

return *gtr;
}

当我调用函数计算时,我想返回平均值和 *gtr 值但平均仅返回平均值。 *gtr 用于计算有多少个数字大于数组中的平均数字。

最佳答案

据我了解,您想要返回平均值,并以某种方式获取 gtr 的值。您可以返回平均值,并使用指针将 gtr 值保存到另一个变量。

int main()
{

int ar[4] = {1,2,3,0};
double result;
int gtr = 0;
result = calculate(ar,4,&gtr);
printf("%lf\n",result );
printf("gtr : %d\n",gtr);


return 0;
}


double calculate(int ar[], int npts, int *gtr)
{
double total = 0 , average;

int i = 0;

for(i=0; i<npts; i++)
{
total = total + ar[i];
}

average = total / npts;

for( i = 0 ; i < npts ; i++ )
{
if(average < ar[i])
{
*gtr += 1;
}
}
return average;
}

关于c - 如何在不使用结构体的情况下在一个函数中返回两个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33259430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com