大鹅努力学编程 2022-11-28 17:41 采纳率: 85.7%
浏览 18
已结题

利用指针求最大值最小值,这个代码报错该怎么调

显示[Error] cannot convert 'double**' to 'double*' for argument '3' to 'void y(double*, int, double*, double*, double*)'该怎么调
输入示例:
5
1 2 3 4 5
输出示例:
max:5.00
min:1.00
aveg:3.00

#include<stdio.h>
int i,n;
void y(double a[],int n,double *max,double *min,double *aveg)
{
    *aveg=*max=*min=a[0];
for(i=0;i<n;i++)
    {
        if(a[i]>*max)
            *max=a[i];
        if(a[i]<*min)
            *min=a[i];
        *aveg+=a[i];
    }
*aveg=*aveg/n;
}
int main()
{
    double *max,*min,*aveg,a[n];
scanf("%d",&n);
for(i=0;i<n;i++)
    {
        scanf("%lf",&a[i]);
    }
y(a,n,&max,&min,&aveg);
printf("max:%.2lf\nmin:%.2lf\naveg:%.2lf\n",max,min,aveg);
return 0;
}
  • 写回答

2条回答 默认 最新

  • 浪客 2022-11-28 19:04
    关注

    main里的 double *max,*min,*aveg 这几个指针没有分配地址,调用时又加了&,对应的形参类型需要double **才可以。
    这几个变量前不需要加星号。
    a[n]的定义放到输入n之后,输入n之前n的值未知。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月7日
  • 已采纳回答 11月29日
  • 创建了问题 11月28日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题