c语言错误怎么办?

用数组编的多项式乘法,但是不会合并同类项从同学那参考了合并的方法,但是有错误比较着急!!下面是程序#include#defineN100voidmultiply(inta... 用数组编的多项式乘法,但是不会合并同类项
从同学那参考了合并的方法,但是有错误
比较着急!!

下面是程序
#include

#define N 100
void multiply(int a[],int b[], int a,int b)
{
int i,j,s=a+b;
int c[N]={0};
for(i=0;i<=a;i++)
for(j=0;j<=b;j++)
c[i+j]+=a[i]*b[j];
printf("a(x)*b(x)=");
for(i=s;i>=1;i--)
printf("%dx^%d+",c[i],i);
printf("%d\n",c[0]);
}
void main()
{
int i,j,k=0;
int m=0,n=0;
int a[50],b[50],c[2500];
printf("Please input the highest exponencial of A\n");
scanf("%d",&m);
printf("Please input the coefficient of A\n");
for(i=0;i<m+1;i++)
scanf("%d",&a[i]);
printf("Please input the highest exponencial of B\n");
scanf("%d",&n);
printf("Please input the coefficient of B\n");
for(j=0;j<n+1;j++)
scanf("%d",&b[j]);
multiply(a[],b[],m,n);
}

这是错误
c(3) : error C2040: 'a' : 'int ' differs in levels of indirection from 'int *'
c(3) : error C2040: 'b' : 'int ' differs in levels of indirection from 'int *'
c(5) : error C2110: cannot add two pointers
c(7) : warning C4047: '<=' : 'int ' differs in levels of indirection from 'int *'
c(8) : warning C4047: '<=' : 'int ' differs in levels of indirection from 'int *'
c(30) : error C2059: syntax error : ']'

求大神指点啊,这个作业我都写了半个多月了,本人比较脑残,开始是用链表和结构体编的,但是实在编不出来,然后就编了这个,是把多项式的系数放到了数组里,可是又不会合并。。。
展开
 我来答
田田方便火锅
2018-01-10 · TA获得超过1.2万个赞
知道小有建树答主
回答量:78
采纳率:0%
帮助的人:1.1万
展开全部

如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的 Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定即可。

c语言错误的原因:

1 、编译阶段,执行的是对单个文件的转换,从源代码转换成二进制文件。


2 、链接阶段,将每个源文件转成的二进制文件,及相关的系统库文件共同打包生成可执行文件。


3 、从定义上可以看出,链接阶段,出现错误有两种可能: 函数中引用了不存在的函数;编译环境有问题,导致ld出错。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式