段错误出现原因
- 数组越界–数组所开范围不够
题目: ``7-3 两个有序序列的中位数
//输入样例1
5
1 3 5 7 9
2 3 4 5 6
//输出
4
//输入样例2
6
-100 -10 1 1 1 1
-50 0 2 3 4 5
//输出
1
写这题的时候数组只开到a[10010],但是实际至少需要20000,报错出现段错误,以为是循环多了。。结果只是数组开小了、、、
#include<bits/stdc++.h>
using namespace std;
int a[200020];//就是这 原本只开了a[10010]
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int j=n;j<2*n;j++)
{
cin>>a[j];
}
sort(a,a+2*n);
cout<<a[(2*n+1)/2-1];
}