我的代码:
#include<stdio.h>
#include<math.h>
double f(int n,double a[],double x);
int main()
{
int n = 5;
double a[n] = {1,2,3,4,5};
double X = 3;
printf("%lf",f(n,a,X));
return 0;
}
double f(int n,double a[],double x)
{
int i;
double p=a[0];
for(i=1;i<=n;i++)
p+ = a[i]*pow(x,i);
return p;
}
由于博主一年多没有用C语言编程,今天写的时候这个报错也花了不少时间。
解决办法:将f函数for循环当中p+ = a[i]*pow(x,i)改为p+=a[i]*pow(x,i)
错误原因:+=是复合运算符,写的时候不能将+与=分开!!!
版权声明:本文为weixin_46113040原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。