Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não compreendo a mensagem de ERRO!!!

Aparentemente a mensagem de alerta nos diz que não posso usar o '%s', mas sei que foi exatamente isso que funcionou para o professor. Lembrando que tenho a variável 'palavra_secreta' devidamente organizada no início do programa: char palavra_secreta[20]. O que pode estar errado?

IN: Código da função 'escolhe_palavra ()'

void escolhe_palavra (){
    FILE* f;
    f = fopen("palavras.txt", "r");
    if(f == 0) {
        printf("Banco de dados de palavras não disponível\n\n");
        exit(1);
    }

    int qtd_palavras;
    fscanf(f, "%d", &qtd_palavras);

    srand(time(0));
    int randomico = rand() % qtd_palavras;

    for(int i = 0; i <= randomico; i++){
        fscanf(f, "%s", &palavra_secreta);
    }
    fclose(f);
}

OUT: mensagem de erro

forca.c: In function ‘escolhe_palavra’:
forca.c:81:15: warning: format ‘%s’ expects argument of type ‘char *’, but argument 3 has type ‘char (*)[20]’ [-Wformat=]
   fscanf(f, "%s", &palavra_secreta);
1 resposta
solução!

Agora já percebi, apenas adicionei o '&' no momento errado. Neste caso não é preciso. Obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software