文件中读取数据存到两个数组当中,为什么报错

PolyNode* ha, * hb, * hc;
ha = (PolyNode*)malloc(sizeof(PolyNode));
hb = (PolyNode*)malloc(sizeof(PolyNode));
hc = (PolyNode*)malloc(sizeof(PolyNode));
PolyArray* array_a, * array_b;
array_a = (PolyArray*)malloc(sizeof(PolyArray));
array_b = (PolyArray*)malloc(sizeof(PolyArray));
if (array_a&&array_b)
{
    for (int i = 0; i < 3; i++)
    {
        fscanf_s(fp, "(%lf,%d)", &array_a[i].coef, &array_a[i].exp);
        fscanf_s(fp, "(%lf,%d)", &array_b[i].coef, &array_b[i].exp);
    }
}
CreatePoly(ha, 3, array_a);
CreatePoly(hb, 2, array_b);
AddPoly(ha, hb, hc);
PolyNode* s = (PolyNode*)malloc(sizeof(PolyNode));
if (hc)
{
    s = hc->next;
}
while (s)
{
    fprintf(fp, "\n(%lf,%d)", s->data.coef, s->data.exp);
    s = s->next;
}
free(ha);
free(hb);
free(hc);
free(array_a);
free(array_b);
fclose(fp);

系统给出的问题是:

img

PolyArray的定义是啥样的啊?

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^