Bom Dia,
 
	Estou tentando montar o jogo da forca na linguagem C, mas meu programa vem dando falhas na contagem dos erros, mesmo eu acertando ele decrementa 1 da variável das vidas, e quando ocorre realmente um erro ele decrementa 2, o programa faz o laço duas vezes aparentemente, e não consigo entender como.
 
	Já modifiquei as condições para ocorrer o decremento e afins, mas esse erro persiste.
 
	Aqui o programa feito:
 
	 
 
	#include<stdio.h> 
	#include<time.h> 
	#include<string.h> 
	#include<stdlib.h> 
	main(){ 
	    int i,random,vidas=5; 
	    char letra,anterior[30],acertos[30],cidades[5][30]={"ISTAMBUL","DUBAI","são PETESBURGO","PALESTINA","LISBOA"}; 
	    srand(time(NULL)); 
	    random=rand()%5; 
	    for(i=0;i<strlen(cidades[random]);i++){ 
	        acertos='_'; 
	    } 
	    strcpy(anterior,acertos); 
	    for(;vidas>0;){ 
	        printf("A FORCA\n"); 
	        printf("VIDAS: %d\n\t",vidas); 
	        puts(acertos); 
	        if(strcmp(cidades[random],acertos)){ 
	            printf("\nDigite a letra:\n"); 
	            letra=getchar(); 
	            letra=toupper(letra); 
	            system("cls"); 
	            for(i=0;i<strlen(cidades[random]);i++){ 
	                if(letra==cidades[random]){ 
	                    acertos=letra; 
	                } 
	            } 
	        } 
	        else{ 
	            printf("\n\nVC GANHOU"); 
	            break; 
	        } 
	        if(strcmp(acertos,anterior)){ 
	            strcpy(anterior,acertos); 
	        } 
	        else vidas--; 
	    } 
	    if(vidas<1){ 
	            printf("\n\nVC MORREU!"); 
	        } 
	}
 
	 
 
	Desde já agradeço!