int main(int argc, const char * argv[]) {
int A[8]={-2,1,6,-3,7,5,-4, -3};
result=(int*)malloc(10*sizeof(int));
left_result=(int*)malloc(10*sizeof(int));
right_result=(int*)malloc(10*sizeof(int));
cross_result=(int*)malloc(10*sizeof(int));
int *jieguo=FIND_MAXIMUM_SUBARRAY(A, 0, 7);
printf("The max left is %d\n",jieguo[0]+1);
printf("The max right is %d\n",jieguo[1]+1);
printf("The sum of largest subarray is %d\n",jieguo[2]);
//free(result);
//free(left_result);
//free(right_result);
//free(cross_result);
return 0;
}
这是我写求最大子序列时的代码,写了free后编译器报错Thread 1: signal SIGABRT,我查了一下是对象释放过度的意思,把几行free都注释掉后就没有报错了,请教一下是编译器有自动释放的功能还是另有原因呢?