UNKNOWN - Segmentation Fault : I keep getting a Segmentation fault. I figured out that it happens between these two lines:

                printf("%s - File exists!\n", file_name);
                printf("inforloop");
But I'm unsure why the segmentation fault keeps occuring.
This is the entire code:

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

    FILE *fp;
    char err_message[128], file_name[128];

    int main(int argc, char *argv[])
    {
        if(argc <= 2)
        {
            printf("ERROR : Usage %s <file name>\n", argv[0]);
            return 1;
        }
        int i = 1;
        for(i; i< argc; i++)
        {
            strcpy(file_name, argv[i]);
            if ((access(file_name, F_OK)) != -1)
            {
                printf("begining of for loop\n");
                printf("%s - File exists!\n", file_name);
                printf("inforloop");
                fclose(fp);
            }
            else
           {
               sprintf(err_message, "open %s", file_name);
               perror(err_message);
           }
        }
        return 0;
    }

Outcome:

     1
     begining of for loop
     date.txt - File exists!
     Segmentation fault (core dumped)