#include <stdio.h>
#include <string.h>
#include <stdlib.h>

typedef struct{
 int i;
 char name[10];
 char sex[3];
}Student;

void swap_S(Student *s1, Student *s2){
 Student tmp;
 tmp = *s1;
 *s1 = *s2;
 *s2 = tmp;
}
void sort(Student *s,int i){
 int j,k;
 Student * sp1, *sp2;

 for(j=0;j<i;j++){
  for(k=j;k<i;k++)
  if(strcmp((s+j)->name,(s+k)->name)>0)
    swap_S((s+j),(s+k));
 }
}


int main(void){
 FILE *src = fopen(\"input.txt\",\"rt\");
 FILE *des = fopen(\"output.txt\", \"wt\");
 int i,j;
 Student *s;

 fscanf(src,\"%d\",&i);
 s = (Student*)malloc(sizeof(Student) * i);

 
 for(j=0;j<i;j++)
  fscanf(src,\"%d %s %s\",(s+j)->i,(s+j)->name,(s+j)->sex);


 sort(s,i);
 for(j=0;j<i;j++)
  fprintf(des,\"%d %s %s\\n\",(s+j)->i,(s+j)->name,(s+j)->sex);

 return 0;}

일단 코드는 이러한데.. 어디서 오류가 나는지 모르겠어..
논리오류 라고 하던가..? 컴파일러에서 잡지는 못 하지만 실행시키면 실행 안되는거...
어디서 오류가 났는지 좀 알려줘
왜 오류가 나는지도 알려주면 더 고맙고