求各位大佬解释一下段错误,我程序里有个段错误但是找不到啊。
我在网上也找了一些段错误的说明,好像主要就是数组越界,要不就是修改const的变量,但是我没发现我的代码里有段错误的东西啊,求大佬指正。#include<stdio.h>
void bubblesort(int arr[], int n)
{
int i, j;
int tmp;
for(i = 0; i < n - 1; i++)
{
for(j = 1; j < n; j++)//ÿ×ßÒ»±é£¬¾ÍÕÒµ½Ò»¸öµ±Ç°×î´óµÄÊý£¬Ê¹ÆäÅŵ½¸ÃÓеÄλÖÃ
{
if(arr[j] < arr[j - 1])
{
tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
}
}
}
}
int sum(int arr[], int n){
int i,sum=0;
for (i=0; i<n; i++){
sum+=arr[i];
}
return sum;
}
int main(){
int a[10001]={0};
int b,k;
scanf("%d",&b);
int n=b;
for (k=0; k<n; k++){
scanf("%d",&a[k]);
}
bubblesort( a, n);
int i=0;
int sum1=sum(a,n/2);
int sum2= sum(&a[n/2],n-n/2);
int fsum=sum2-sum1;
printf("Outgoing #: %d\nIntroverted #: %d\nDiff = %d",n-n/2,n/2,fsum);
return 0;
}