0xC0000005: 写入位置 0x00000000 时发生访问冲突.

2025-04-08 03:51:18
推荐回答(2个)
回答1:

你已经定义了全局变量toweight,那为什么还在main函数里又有float toweight=0;呢?如果是给第一个元素赋值的话不是这样,toweight[0]=0;或者toweight[0]=’0‘;,还有你的输入是scanf("%f",toweight);,这是选定首地址来存储,也就是toweight[0],所以,发生冲突。

如果你的冲突发生在屏幕显示“请输入背包可装入总重量T:”那,说明是float toweight=0;的问题;
如果你的冲突发生在屏幕显示“请输入货物总数量n:”那,说明是三者冲突。

回答2:

输入要带地址符:
scanf("%f",&toweight);
printf("请输入货物总数量n: ");
scanf("%d",&goods);
printf("请输入货物重量: ");
for(i=0;i {
scanf("%f",&weight[i]);

}