Esse código é parte do código relacionado ao jogo da forca. No segundo FOR, inicialmente o valor de j=0 e tentativas =1. Depois j é incrementado e passa a ser igual a 1. Nesse caso, o loop não deveria parar, pois j = tentativas? Tentativas só incrementa fora do FOR.
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("_ ");
}
}