wryte 发表于 2021-11-3 19:55:54

需要类型‘double *’,但实参的类型为‘double’

求助下大伙们,我在编译一份C语言代码时遇到了一个问题:"需要类型‘double *’,但实参的类型为‘double’"。我该怎么解决
附上我写的代码
#include <stdio.h>


double funMax(double s[], int num);

double funMax(double s[], int num)
{
      double j= -100000.0987;
      int i;

      for (i =0; i < num;i++)
      {
                if (j < s)
                {
                        j = s;
                }
      }

      return j;
}

int main()
{
      int num;
      double s, max;

      scanf("%d", num);
      funMax(s, num);

      printf("%lf", funMax(s, num));

      return 0;
}

jackz007 发表于 2021-11-3 20:02:27

本帖最后由 jackz007 于 2021-11-3 21:52 编辑

      函数的调用方式有误,代码已经修改,现在再编译试试
#include <stdio.h>

double funMax(double s[] , int num)
{
      double j                                                       ;
      int i                                                          ;
      for(j = s , i = 1 ; i < num; i ++) if (j < s) j = s ;
      return j                                                       ;
}

int main()
{
      int i , num                                                    ;
      scanf("%d" , & num)                                          ;
      double s                                                ;
      funMax(s , num)                                                ;
      for(i = 0 ;i < num ; i ++) scanf("%lf" , & s)               ;
      printf("%lf\n" , funMax(s , num))                              ;
      return 0                                                       ;
}
      编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
6
1.2 2.3 3.4 4.5 5.6 6.7
6.700000

D:\00.Excise\C>
      【注意】:这个代码使用了动态数组,最好使用 gcc 编译,用 VC 无法正常编译。

wryte 发表于 2021-11-3 23:59:07

jackz007 发表于 2021-11-3 20:02
函数的调用方式有误,代码已经修改,现在再编译试试

      编译、运行实况:


好的谢谢

jackz007 发表于 2021-11-4 00:12:12

wryte 发表于 2021-11-3 23:59
好的谢谢

      如果问题已经解决,不要忘记设置 "最佳答案"。
页: [1]
查看完整版本: 需要类型‘double *’,但实参的类型为‘double’