问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
#include"stdio.h"
double fun_ave(double *p,int n);
int main()
{
float a[10];
float *p;
int n;
for(n=0;n<10;n++)
{
scanf("%f",&a[n]);
}
p=&a[0];
fun_ave(double *p,int n);
printf("%.2f",ave);
}
double fun_ave(double *p,int n)
{
float ave;
for(n=0;n<10,n++,p++)
{
ave=*p+ave;
}
ave=ave/10;
return ave;
}
#include "stdio.h"
double fun_ave(double *p, int n);
int main()
{
double a[10];
double *p;
int n;
for (n = 0; n < 10; n++)
{
scanf("%lf", &a[n]);
}
p = a;
printf("%.2lf", fun_ave(p, 10));
}
double fun_ave(double *p, int n)
{
double ave = 0;
for (n = 0; n < 10; n++, p++)
{
ave = *p + ave;
}
ave = ave / 10.0;
return ave;
}
#include"stdio.h"
double fun_ave(double* p, int n);
int main()
{
double a[10];
double* p; //1、p可以更换其它名字,不需要与函数中的参数名完全一致
int n;
for (n = 0; n < 10; n++)
{
scanf("%f", &a[n]);
}
p = &a[0];
double ave = fun_ave(p, n); //2、此处的p需要与注释1处的名字一致
printf("%.2f", ave);
}
double fun_ave(double* p, int n)
{
float ave;
for (n = 0; n < 10, n++, p++)
{
ave = *p + ave;
}
ave = ave / 10;
return ave;
}