2
respostas

Erro de comparação

Está dando erro na execução por conta dessa linha:

for(int i = 0; i < strlen(palavrasecreta); i++)

Aparece a mensagem:

"comparison between signed and unsigned integer expressions [-Wsign-compare]"

Isso está acontecendo especificamento na comparação "i < strlen(palavrasecreta)".

2 respostas

Olá Marcelo!

Consegue mandar todo o código?

Bom dia, Pedro! Consigo sim, aqui está:

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

int main() { system("chcp 65001");

char palavrasecreta [20];

sprintf(palavrasecreta, "MELANCIA");

int acertou = 0;
int enforcou = 0;

char chutes[26];
int tentativas = 0;

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");

    char chute;
    printf("Qual letral?");
    scanf(" %c", &chute);

    chutes[tentativas] = chute;
    tentativas++;
    
} while (!acertou && !enforcou);

return 0;

}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software