C 参数1的类型不兼容

C 参数1的类型不兼容,c,arrays,incompatibletypeerror,C,Arrays,Incompatibletypeerror,我有一个C语言的程序,我得到了以下错误: calcularpi.c:37:2:错误:“媒体”的参数1的类型不兼容 calcularpi.c:22:8:注意:应为'double*',但参数的类型为'double' calcularpi.c:38:2:错误:“eam”的参数1的类型不兼容 calcularpi.c:23:8:注意:应为'double',但参数的类型为'double' 我想知道数组或变量的问题在哪里,这样我就可以完成应用程序了。 我想其余的都可以。 谢谢。更改: printf("El

我有一个C语言的程序,我得到了以下错误:

calcularpi.c:37:2:错误:“媒体”的参数1的类型不兼容

calcularpi.c:22:8:注意:应为'double*',但参数的类型为'double'

calcularpi.c:38:2:错误:“eam”的参数1的类型不兼容

calcularpi.c:23:8:注意:应为'double',但参数的类型为'double'

我想知道数组或变量的问题在哪里,这样我就可以完成应用程序了。 我想其余的都可以。 谢谢。

更改:

printf("El valor es: \n %lf", media(valores[100]));
printf("El error es: \n %lf", eam(valores[100]));
致:

这里,valores是您的数组,在此上下文中衰减为键入double*-valores[100]是数组的第101个元素,它比实际拥有的元素数多一个,并衰减为键入double。因为media和eam都接受类型为double*double mediadough valores[100]的单个参数;相当于双mediadouble*valores;,这就是为什么会出现类型不匹配错误

另外,对于带有printf的double,%f是更合适的格式说明符。这与scanf和friends不同,后者的%lf是正确的

printf("El valor es: \n %lf", media(valores[100]));
printf("El error es: \n %lf", eam(valores[100]));
printf("El valor es: \n %f", media(valores));
printf("El error es: \n %f", eam(valores));