Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

O for não deveria começar no 1?

Como o txt é composto da seguinte maneira:

3
MELANCIA
MELAO
MORANGO
(quantidade de palavras
palavras
.
.
)

E o código

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

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

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

Não seria correto que o for começasse em um, ao invés de zero , já que a primeira linha do arquivo foi lida fora do for?

3 respostas
solução!

Boa noite, Gustavo! Como vai?

A partir de 7:05 dessa aula o instrutor explica que há um ponteiro indicando a linha atual de leitura do arquivo. Ou seja, quando o primeiro fscanf() é feito, esse tal ponteiro de leitura já passa para a segunda linha! Por isso, não é necessário começar o for a partir do valor 1!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Certo! Entendi, muito obrigado!

Por nada, Gustavo! Sempre que tiver alguma dúvida é só mandar aqui no fórum da Alura!

Grande abraço e bons estudos, meu aluno!