C语言问题,定义函数的时候,出现了这样的错误,请问哪里出错了??

C语言问题,定义函数的时候,出现了这样的错误,请问哪里出错了??double f(int n,double x,double a[])
{
double f=0;
int i;
for(i=0;i<=n;i++)
{
f=f+a[i]*x^(n-i);
}
return(f);
}

错误 1 error C2296: “^”: 非法,左操作数包含“double”类型 f:\visual studio\test1\test1\test1_1.cpp 7 test1

第1个回答  2016-10-26
1、在C语言中^是位运算符(异或),两边操作数需为整数,你的写法左边是浮点数,故报语法错误。
2、C语言中,幂运算有几种方式:用e来表示10的次方;用函数pow;循环相乘。追问

谢谢,你回答的更好,但是我得把先回答的采纳了,真对不起😊

第2个回答  2016-10-26
估计你想表达x的n-i次方。但C中的^是异或操作符,不是次方操作符。C中有求次方的库函数pow,x的n-i次方可写成pow(x,n-i);。要包含头文件math.h。追问

谢谢

本回答被提问者采纳
相似回答