Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Não roda como deveria.

Escrevi o código ele compila e roda mas o numero que aparece no monitor é diferente da variável aliais é sempre o mesmo numero, mesmo mudando o valor da variável continua o mesmo numero. Estou usando o codeblock e coloquei uma biblioteca a mais e o comando para corrigir acentuação, não acho que seja isso pois retirei e continua o mesmo problema. Segue o código a baixo :

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

int main()
{
    setlocale(LC_ALL,"portuguese");


    printf("********************\n");
    printf("*Jogo de Adivinhação*\n");
    printf("********************\n\n");

    int numerosecreto = 42;
    printf("O numero secreto é %d. Não conta para ninguém!", &numerosecreto);

    system("pause");

    return 0;
}
2 respostas
solução!

Olá Pedro!

Reproduzi seu código e realmente está devolvendo números bizarros, porém, percebi que na linha:

printf("O numero secreto é %d. Não conta para ninguém!", &numerosecreto);

Tem um & antes da variável numerosecreto e por isso está devolvendo números estranhos.

Isso significa que ao colocar o & antes da variável, você está pedindo para imprimir o endereço de memória desta variável. Ao tirar o & seu código devolverá o valor correto da variável.

Para mais informações, tem uma resposta no Stackoverflow (em português) que esclarece um pouco mais o uso do & no código.

Espero ter ajudado! Bons estudos!

Obrigado ^^ .