質問: ### 前提・実現したいこと c言語で、標準入力からリダイレクトでファイルから与えたdouble値のクイックソートを実装しようとしています。 ### 発生している問題・エラーメッセージ segmentation errorが出てしまいます quicksort_asc関数の仮引数のアドレスにアクセスできないようです ### 該当のソースコード C /#include /#include /#include /#include //オプションを読み込み設定する関数 int option(int argc,char *argv[]){ int i,n=1; //リダイレクションでオプションを読み込めるように設定 for(i=1;ipivot){//配列内の要素がピボットよりも大きかったら j--;//jを更新 } if(i>=j){//iがj以上になったら break;//while文を抜ける(そのブロックでのソートの完了) } //ピボットよりも左側にピボットよりも大きな値をみつけかつ、 //ピボットよりも右側にピボットよりも小さな値を見つけた時、 //配列内の要素を入れ替え、i,j,を更新 tmp=data[i]; data[i]=data[j]; data[j]=tmp; } //クイックソートを再帰的に行うように設定 if(beginpivot){//配列内の要素がピボットよりも大きかったら i++;//iを更新 } //右側からの探索 while(data[j]=j){//iがj以上になったら break;//while文を抜ける。 } //ピボットよりも左側にピボットよりもちいさな値をみつけかつ、 //ピボットよりも右側にピボットよりも大きな値を見つけた時、 //配列内の要素を入れ替え、i,j,を更新 tmp=data[i]; data[i]=data[j]; data[j]=tmp; } //クイックソートを再帰的に行うように設定 if(begin
回答: そもそもの問題として`rewind(stdin)`は未定義動作なのでやめましょう。