>>541
ありがとうございます。プログラムの反応が明らかに違いました。
しかし入力ファイル名はa.txtなのですが、a.txtと入力したにも係わらずなぜか開けずE1と出力されます@@
ちなみに今のopen_rはこのようになっています。
void open_r(FILE *fp){
  
  char str[256];
  
  fgets(str,sizeof str,stdin);
  
  //ファイルが開けなかったらE1
  if((fp=fopen(str,"r"))==NULL){
    puts("E1");
    exit(1);
  }
}
当然a.txtは実行ファイルと同じディレクトリおいています。