求任意分数和,怎么办急



```c
#include   <stdio.h>
#include <stdlib.h>
int main()
{
    int n = 0;
    static int sumfm = 1;
    int sumfz = 0;
    scanf_s("%d", &n);
    int* fz = 0;
    fz = (int*)malloc(n * sizeof ( int));
    int* fm = 0;
    fm = (int*)malloc(n * sizeof(int));
    for (int i = 0,a=0,b=0; i <= n; i++)
    {
        scanf_s("%d%d", &a, &b);
        *(fz + i) = a;
        if(b!=0)
        *(fm + i) = b;
    }
    for (int i = 0; i<=n; i++)
    {
        sumfm *= *(fm + i);
    }
    for (int i = 0,fzz=0; ; i++)
    {
        fzz = *(fz + i) * sumfm / (*fm + i);
        sumfz += fzz;
    }
    free(fz);
    free(fm);
    printf("%d/%d", sumfz, sumfm);
    return 0;
}
0x00007FF7719C5CD8 处(位于 Project2.exe 中)引发的异常: 0xC0000005: 读取位置 0x000001DE5ED80000 时发生访问冲突。




for 循环的条件 i < n 而不是 i <= n 吧?

粗略看了一下报错是因为 *(fz + i) = a; 访问越界了,说明你这个指针的访问超过了你分配的内存