C 编译错误-数值常量
我的程序中不断出现以下编译错误。我想写一个使用数组p[]的程序,它被传递给一个函数,该函数计算n次多项式,该多项式被设置为下面的5,并返回值 我的错误如下: poly.c:4:39:错误:应为“;”,“,”或数值常量前的“” poly.c:16:39:错误:应为“;”,“,”或数值常量前的“” 我的节目:C 编译错误-数值常量,c,C,我的程序中不断出现以下编译错误。我想写一个使用数组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() {
#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;
}
预处理器完成后,您的代码如下所示:
double eval(double p[], double x, int 5)
因此,仍然有人失踪;在那条线的尽头,那5条没有意义
不要定义这样短的宏名称,也不要有同样定义的正式参数名称。确保在所有表示全局常量的代码中只使用N
另外,要将p数组作为参数传递,只需说p,而不是p[]
由于您将N定义为5,因此在预处理后,上面的内容如下所示:
double eval(double p[], double x, int 5)
显然这是错误的。函数声明也需要用分号终止。N=5;然后N+1=6,那么你声明一个长度为6的数组,并用一个长度为5的文本数组初始化它。问题中给出了p[N+1],我不明白你的意思。@user1304516他说你声明p是一个由6个元素组成的数组,但你只将5个元素放入数组0,1,2,3和4.如何用分号声明函数?这不会产生更多的语法吗?@user1304516我不理解这个问题。好吧,你说我需要添加一个分号,我应该在哪里添加这个分号:\。对不起,我一点用都没有programming@user1304516函数声明之后。双倍evalbla,bla;。如果是函数定义,函数签名后面必须跟一个开口{,如果是函数声明,则后面必须跟一个分号。
double eval(double p[], double x, int 5)