Na função chuta se passasemos os valores do parametro ," int tentativas" por referência, também seria necessário colocar a variável tentativas++ no escopo da variável main?
#include <stdio.h>
#include <stdlib.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(" %c",&chute);
chutes[tentativas] = chute;
}
int main(void){
char palavrasecreta[20];
sprintf(palavrasecreta, "MELANCIA");
int acertou = 0; // Variáveis declaradas em valores booleanos 0 ou 1.
int enforcou = 0;
char chutes[26];
int tentativas = 0;
abertura();
do{
int i;
int j;
for(i = 0; i < strlen(palavrasecreta); i++){// Função strlen retorna a quantidade de caracteres que tem a string selecionada entre parentêses.
int achou = 0;
for(j = 0; j < tentativas; j++){
if(chutes[j] == palavrasecreta[i]){
achou = 1;
break;
}
}
if(achou){
printf("%c ",palavrasecreta[i]);
}else{
printf("_ ");
}
}
printf("\n");
// Captura um novo chute.
chuta(chutes,tentativas);
tentativas++;
}while(!acertou && !enforcou);// Usou operador lógico de negação para inverter o valor das variaveis para 1.
}