1
resposta

Meu programa está em loop!

Eu gostaria de saber porque o seguinte programa está em loop:

*Feito no CodeBlocks com o GCC como compilador.

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

int main() {
    char palavraSecreta[20];

    sprintf(palavraSecreta, "MELANCIA");

    int acertou = 0;
    int enforcou = 1;

    char chutes[26];
    int tentativas = 0;

    do {
        for(int i = 0; strlen(palavraSecreta); i++){
            printf("_ ");
        }
        printf("\n");
        char chute;
        scanf(" %c", &chute);

        chutes[tentativas] = chutes;
        tentativas++;

    }while(!acertou && !enforcou);
}
1 resposta

João, faltou fazer a comparação no for que coloca os _ (underlines) na tela.

Troca a linha:

for(int i = 0; strlen(palavraSecreta); i++){

Pela seguinte:

for(int i = 0; i < strlen(palavraSecreta); i++){

Isso deveria resolver o seu problema do loop infinito. Não cheguei a conferir a lógica do restante do código.

Abraço!