这是我试图编译以查找原始根的代码......但它给了我错误。
int isPrimitive (int q, int a) {
int i,z;
double k,s;
s=1;
i=0;
double *factors=malloc(sizeof(double)*q-2);
while (s>0 && i<q-2) {
k=pow(a,i);
s=k-(q*floor(k/q));
for (z=0;z<(sizeof(*factors)/sizeof(factors[0]));z++) {
if (factors[z]==s) {
return 0;
}
}
factors[i]=s;
i++;
}
这里在double *factors=malloc(sizeof(double)*q-2);
// 错误从 void* 到 double* 的无效转换行中。