may be used uninitialized in this function

void pathAndPrint();

struct text{
    char string[NMAX]; 
};

int main ()
{
    char menu;

    scanf("%c", &menu);

    switch (menu)
    {
    case '1':
        pathAndPrint();
        break;

    default:
        printf("n/a");
        break;
    }
    return 0;
}

void pathAndPrint()
{
    char* path;

    scanf("%s", path);

    FILE *file;
    struct text txt[NMAX];
    unsigned char i = 0;

    file = fopen(path, "r");
    if(file != NULL){
        while (fscanf(file, "%s", txt[i].string) != EOF) {

        printf("%s\n", txt[i].string); 
        i++;

        }
    } else {
        printf("n/a");
    }
}

не понимаю почему при компиляции с флагом Werror говорит что char* path может использоваться без инициализации


Ответы (0 шт):