问题一:
报错信息:
3条回答 默认 最新
- robot8me 2021-07-16 17:29关注
1、肯定是发生了越界。建议改成这样:
for (int i = 0; i < n /* arlength(a1)*/; i++) { int sign = 0; for (int k = 0; k < n/* arlength(a1)*/; k++) { for (int j = 0; j < alength(a, i) && i != k; j++) {
2、
arlength
这个获取长度方式也有问题,里面必然会导致越界问题。而a1
就是通过new int[n]
动态创建的,因此a1
长度已知的,直接使用n即可。
3、如果是想获取'a1中有效元素的长度,那么
arlength(a1)还应该传入
a1`数组的长度,for循环条件要加上k小于数组长度,a1之类的也最好初始化为其他整数,方便判断。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用