2
respostas

[Dúvida] Erros ao compilar com o Vs Code

Ao compilar, o programa apresenta vários erros!


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

int main () {
  char palavrasecreta [20];

  sprintf (palavrasecreta, "MELANCIA");

  int acertou = 0;
  int enforcou = 1;

  do {
    char chute;
    scanf ("%c", &chute);

    for (int i = 0; i < strlen(palavrasecreta); i++)  {
      if (palavrasecreta[i] == chute) {
        printf ("A posição %d tem essa letra!\n", i);
      }
    }

  } while (!acertou && !enforcou);
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeJá tentei algumas soluções do fórum mas nada resolveu.

2 respostas

E aí, Matheus! Beleza? Vamos lá, temos alguns probleminhas nesse código, né?

Primeiro, o erro tá nessa parte do for. O GCC tá reclamando porque você tá comparando um int (que é o i) com um valor unsigned (que é o retorno do strlen(palavrasecreta)). Então, pra consertar isso, você pode mudar a variável i pra unsigned int ou usar size_t no lugar de int.

Além disso, tá faltando um ponto e vírgula depois de strlen(palavrasecreta). Então, é isso que o compilador tá te mostrando.

Vou te mostrar como fica essa parte corrigida:

for (unsigned int i = 0; i < strlen(palavrasecreta); i++) {
    // Seu código aqui...
}

Ou assim:

for (size_t i = 0; i < strlen(palavrasecreta); i++) {
    // Seu código aqui...
}

Escolhe aí o que achar melhor e tenta compilar de novo. Deve resolver! Se tiver mais alguma dúvida, é só falar!

Muito obrigado por enquanto, eu havia reparado no erro do " ; " e ja havia arrumado. sobre o size_t, não resolveu, vou fazer a tentativa do unsigned e ja retorno se houve solução, muito obrigado!