[Error] expected primary-expression before ‘=‘ token错误

  • Post author:
  • Post category:其他


我的代码:

#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 版权协议,转载请附上原文出处链接和本声明。