每次我运行程序时,我都会收到消息:分段错误(核心转储)。我尝试做一些研究,似乎问题与分配给非法内存有关。我也尝试过调试程序,似乎问题出在 linearsort() 函数上,因为在将其注释掉之后,其余语句都可以正常工作。
#include <iostream>
using namespace std;
int main()
{
void linearsort(int [], int);
int arr[10];
for( int j = 0; j < 10; j++)
arr[j] = j +1;
linearsort(arr,10);
for(int i = 0; i < 10; i++)
cout << arr[i] << " ";
cout << endl;
cin.get();
return 0;
}
void linearsort(int arr[],int n)
{
int temp;
for(int pass = 0; pass < n - 1; n++)
for(int cand = pass + 1; cand < n; cand++){
if(arr[pass] > arr[cand]){
temp = arr[pass];
arr[pass] = arr[cand];
arr[cand] = temp;
}
}
}