Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Codigo não roda.

Oi bom dia, estou usando o VSCode para trabalhar com o C porem tem ocorrido certos problemas, um deles é a questão do acento que não vai ( não sei se a tabela ASCII não funciona igual a das outras linguagens por estar no VSCode) e o outro que tá falando que é esperado " %i" pela a variavel do tipo inteiro mas mesmo assim não vai.

e me volta o seguinte:


Bem vindo ao jogo de advinhacao


O numero 0 ├® o secreto.

#include <stdio.h>

int main()
{ 
    /*Jogo de Adivinhação em C*/ 
    printf ("********************************\n");
    printf ("Bem vindo ao jogo de advinhacao\n");
    printf ("*********************************\n");

        int numero_secreto = 42;
            printf("O numero %i é o secreto.");

logo depois me gera um aviso que é :

main.c: In function 'main':
main.c:11:31: warning: format '%i' expects a matching 'int' argument [-Wformat=]       
   11 |             printf("O numero %i ├® o secreto.");
      |                              ~^
      |                               |
      |                               int
main.c:10:13: warning: unused variable 'numero_secreto' [-Wunused-variable]
   10 |         int numero_secreto = 42;
      |             ^~~~~~~~~~~~~~
1 resposta
solução!

Fala Eduardo, tudo certo?

O que está acontecendo, na verdade, é que você esta criando a variável numero_secreto, mas não está passando ela como valor na função printf().

A função printf() pode receber inúmeros parâmetros, mas sempre segue essa ordem:

printf("String", variavel, variavel, ...);

Ou seja, pode receber n variáveis que serão utilizadas em conjunto com as máscaras de variável, como o %i e o %d por exemplo. Máscaras de variável guardam um lugar na String para que quando o valor for mostrado, elas sejam substituídas por um valor real.

Então, para conseguir mostrar o valor na tela bastar modificar a função printf(), conforme abaixo:

printf("O numero %i eh o secreto", numero_secreto);

Assim, o compilador vai substituir a máscara %i pelo valor da variável numero_secreto, e mostrar corretamente na tela!

Quanto à acentuação usando a linguagem C recomendo conferir este tópico no fórum, que discute o assunto!

Em caso de dúvidas, estou à disposição!

Um grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!