```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 时发生访问冲突。
求任意分数和,怎么办急
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
hmsy39 2021-10-03 23:43关注for 循环的条件
i < n而不是i <= n吧?粗略看了一下报错是因为
*(fz + i) = a;访问越界了,说明你这个指针的访问超过了你分配的内存本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报