c语言,完全背包问题,动态建立数组,发生内存冲突

img

你原本开辟的空间是m 、n大小下标从0开始,但是循环判断i,j怎么能等于n m 了,这样越界了,把两个循环的等于号去掉

for(int i=1;i<n;i++) for(int j=0;j<m;j++) 你用到dp[i][j]这种情况,i和j作为下标就不能大于或等于数组本身的长度,否则就越界了,越界访问的空间不是你这个程序管理的内存区域,系统就会报错