私は、挿入アルゴリズムを実装するために、insort関数を呼び出そうとします。どういうわけか、途中で私は、端末がセグメンテーション障害を印刷する間違いをいくつかしました。助けてください。ありがとう!挿入の並べ替えを使用している間のセグメンテーションフォルト
int
main(int argv,char *argc[]){
int A[argv-2];
for(int i=1;i<argv;i++){
A[i-1]=atoi(*(argc+i));
}
insort(&A,argv-1,0);
for(int i=0;i<argv-1;i++){
printf("%d",A[i]);
}
printf("\n");
return 0;
}
int
insort(int *A[],int size,int n){
int temp;
if(n<size){
for(int i=n;i>=0 && *(A+i)>*(A+i-1);i--){
temp=*(A+i-1);
*(A+i-1)=*(A+i);
*(A+i)=temp;
}
}
return insort(A,size,n++);
}
おっと!どういうわけか、このコードをデバッガで実行しようとすると、誤って代わりにスタックオーバーフローに投稿されました!デバッガは、どのラインに問題があるのかを正確に教えてくれるので、それを修正するための道が開かれます。デバッガの出力を理解できない場合は、戻ってそのことに関する*具体的な質問をすることができます。 –
名前 'argc'と' argv'を交換しないと、プログラムが読めなくなります。 –