No meu código o parametro (chutes) da função chuta, acaba recebendo o valor que colocamos com o input do teclado, mas o chute que estar na segunda função for() recebe um número aleátorio...Entedi isso a pois a explicação do professor mudando o (tentativas) para o escopo para a função main(), mas ele não faz o mesmo com o parametro (chutes)!
#include <stdio.h> #include <string.h>
void abertura() { printf("*****************\n"); printf(" JOGO DA FORCA *\n"); printf("******************\n\n");
}
void chuta(char chutes[26], int tentativas) { char chute; scanf_s(" %c", &chute);
chutes[tentativas] = chute;
printf("Chutes da funsão: %c \n", chutes[0]);
}
int main() { char palavrasecreta[20]; sprintf(palavrasecreta, "OVO");
int acertou = 0;
int enforcou = 0;
int chutes[26];
int tentativas = 0;
abertura();
do {
for (int i = 0; i < strlen(palavrasecreta); i++) {
int achou = 0;
for (int j = 0; j < tentativas; j++) {
if (chutes[j] == palavrasecreta[i]) {
achou = 1;
break;
}
}
if (achou) {
printf("%c ", palavrasecreta[i]);
}
else {
printf("_ ");
}
}
printf("\n");
chuta(chutes, tentativas);
tentativas++;
} while (!acertou && !enforcou);
}