满意答案
zmrjga
2019.11.12
采纳率:54% 等级:8
已帮助:212人
//兄弟首先啊,你传的参数里面 有个 数组长度 那么这个 长度是不是可以认为是你的数字个数呢。
//其次啊 通过形参 返回, 例如你传一个数组 a[10] 那么形参只是复制的 a的地址 传进来, 所以返回不可能通过形参返回, 只能通过形参指向的地址 改变地址内的值。然后你可以在函数外面调用这个值. 严格意义上讲 就没有通过形参返回这一说,因为形参在函数调用完以后就会被释放,他是处于栈中的,只能通过形参所指向的地址返回,除非c++的参数引用,可以通过参数返回。
//如下例:
void func(double *arr, int num)//第一个参数是 数组 第二个参数是数组元素个数
{
for (int i = 1; i < num; i++)
{
arr[0] += arr[i];//所有的数相加的结果放在了arr[0]
}
arr[1] = num;//这个是数组内数字个数 强制int转double
}
int _tmain(int argc, _TCHAR*argv[])//我用的c++main 你可以用c main
{
double a[10] = { 0.254, 0.77, 1.65, 5.95, 47.5, 54.22, 0.356, 1.25, 12.3, 12.8 };//10个元素
func(a, 10);
printf("总和是:%lf,数字个数为:%lf", a[0],a[1]);
getchar();
}
00分享举报