gpt4 book ai didi

c - 多项式除法

转载 作者:太空宇宙 更新时间:2023-11-04 08:57:43 25 4
gpt4 key购买 nike

我在下一个代码中有一个奇怪的错误(它在进行多项式除法)。不确定,但正如我所见,问题出在方法的声明中。在代码之后,我列出了我不断遇到的错误。

代码如下:

  1
2 int[] mul(int d[],int t,int idxq);
3 int[] sub(int a[],int b[]);
4 int check(int r[],int lengthr);
5 int[] cp(int a[]);
6 int[] div(int n[],int d[]);
7
8
9
10 int[] mul(int d[],int t,int idxq){
11 int i;
12 int size=sizeof(d)/sizeof(d[0]);
13 int c[size];
14 for(i=size-1;i>0;i--)
15 c[idxq+i]=d[i]+t;
16 return c;
17 }
18
19 int[] sub(int a[],int b[]){
20
21 int i;
22 int j;
23 int size=sizeof(a)/sizeof(a[0]);
24 int fin[size];
25 for(j=0;jsize;j++)
26 fin[j]=a[j];
27 for(i=0;isize;i++)
28 fin[i]=a[i]-b[i];
29
30 return fin;
31 }
32
33 int check(int r[],int lengthr){
34 int i;
35 for(i=0;i<lengthr;i++){
36 if(r[i]!=0)
37 return 1;
38 }
39 return 0;
40 }
41
42
43 int[] cp(int a[]){
44 int size=sizeof(a)/sizeof(a[0]);
45 int i;
46 int fin[size];
47 for(i=0;i<size;i++)
48 fin[i]=a[i];
49
50 return fin;
51 }
52
53 int[] div(int n[],int d[]){
54 int idxq=0;
55 int t=0;
56 int r[sizeof(n)/sizeof(n[0])]=cp(n);
57 int lengthr= sizeof(r)sizeof(r[0]);
58 int lengthd= sizeof(d)sizeof(d[0]);
59
60 while(check()!=0 && r[lengthr-1]=d[sizeof(d[0]])
61 t=r[lengthr-1]d[sizeof(d[0]])-1];
62 idxq=lengthr-d[sizeof(d[0]])-1]
63 q[idxq]=t;
64 r=sub[r,mul(d,t,idxq)];
65 idxq=0;
66
67 }
68
69 int main(){
70
71 int a[4]={-42,0,12,1};
72 int b[2]=(-3,1);
73 div(a,b);
74 }

错误如下:

q6.c:2: error: expected identifier or  Ç ( Ç  before  Ç [ Ç  token
q6.c:3: error: expected identifier or Ç ( Ç before Ç [ Ç token
q6.c:5: error: expected identifier or Ç ( Ç before Ç [ Ç token
q6.c:6: error: expected identifier or Ç ( Ç before Ç [ Ç token
q6.c:10: error: expected identifier or Ç ( Ç before Ç [ Ç token
q6.c:19: error: expected identifier or Ç ( Ç before Ç [ Ç token
q6.c:43: error: expected identifier or Ç ( Ç before Ç [ Ç token
q6.c:53: error: expected identifier or Ç ( Ç before Ç [ Ç token
q6.c: In function Ç main Ç :
q6.c:72: error: invalid initializer

感谢您的帮助! :)

最佳答案

一点也不“奇怪”。

C 没有数组作为一等公民;你不能从函数中返回它们。

另外,这个:

int size=sizeof(d)/sizeof(d[0]);

无效,因为传递给函数的任何数组都会衰减为指向第一个元素的指针,因此 sizeof d 将为 sizeof (int *)。您需要将数组长度作为单独的参数传递。

关于c - 多项式除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16148717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com