我在程序中不断收到以下编译错误.我想编写一个使用数组的程序,该程序p[]被传递给计算第n度多项式的函数(下面设置为5)并返回该值.
我的错误如下:
poly.c:4:39:错误:在数字常量之前预期';',','或')'
poly.c:16:39:错误:在数字常量之前预期';',','或')'
我的节目:
#include <stdio.h>
#define N 5
double eval(double p[], double x, int N)
int main()
{
double p[N+1] = {0,1,2,3,4};
double x;
printf("what value of x would you like?: ");
scanf("%lf", &x);
p[N+1] = eval(p[], x, n);
printf("%lf", p[N+1]);
}
double eval(double p[], double x, int N)
{
double y;
y = x^(p[N+1]);
return y;
}
Run Code Online (Sandbox Code Playgroud)
预处理器完成后,您的代码如下所示:
double eval(double p[], double x, int 5)
Run Code Online (Sandbox Code Playgroud)
所以;在那一行的末尾仍然缺少,这在5那里毫无意义.
不要定义这样的短宏名称,也不要有正式的参数名称#define.确保您只N在所有代码中使用全局常量.
另外,要将p数组作为参数传递,只是说p,不是p[].