좃나 하는것마다 에러에요ㅜㅜ

문제는 먼저 score.txt 파일이 폴더에 미리

1. 박지성 90.2 90.1 88.8
2. 이청용 89.1 88.5 90.2
3. 박주영 92.1 87.1 90.1
4. 기성용 85.3 86.2 95.1
5. 구자철 88.2 86.3 91.1
6. 지소연 98.2 90.1 93.5
7. 전가을 93.3 95.5 91.2

이렇게 저장되어있어요
이걸 파일로 입력받아 번호 이름 총점을 순서대로 옮겨 copy.txt 만들어야 하는데요 
이쪽에 추가로 번호를 입력받으면 그선수 번호만 stdout 으로 출력할수 있어야되요


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

struct soccer
{
        char no_name[30];
        double a;
        double b;
        double c;

};

void main()
{
        char array1[50];
        char array2[50];
        char choice[10];
        int i,distance;
        struct soccer p[7];
        double total[7];
        char* pointer;

        FILE* stream1;
        FILE* stream2;



        stream1=fopen(\"score.txt\",\"r\");
        stream2=fopen(\"copy.txt\",\"w\");

        fseek(stream1,0,SEEK_END);
        distance=ftell(stream1);
        fseek(stream1,0,SEEK_SET);

        

        for(i=0; feof(stream1)==0; i++)
        {
                fscanf(stream1, \"%s %lf %lf %lf\",p[i].no_name,&p[i].a,&p[i].b,&p[i].c);
        }
        for(i=0; i<7; i++)
        {
                total[i]=(p[i].a)+(p[i].b)+(p[i].c);
        }
        
        fseek(stream1,0,SEEK_SET);

        for(i=0; feof(stream1)==0; i++)
        {
                fprintf(stream2,\"%s %.1lf \\n\",p[i].no_name,total[i]);
        }
        printf(\"찾으실 선수 번호를 입력해주십시오.\");
        scanf(\"%s\",choice);

        for(i=0; feof(stream1)==0; i++)
        {
                fgets(array1,distance/7,stream1);
                pointer=strstr(array1,choice);
                if(pointer!=NULL) break;
        }

        fprintf(stdout, \"%s\",pointer);
        fclose(stream1);
        fclose(stream2);
}

에러는 메모리 불법참조인거같은데 뭐가 잘못된건지..