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

Problema no exemplo

int chute;
------------^
int numerosecreto = 42;
int acertou = chute == numerosecreto;
if(acertou) {
    printf("Parabéns! Você acertou!\n");
} else {
    if(chute > numerosecreto) {
        printf("Seu chute foi maior do que o número secreto!\n");
    } 
    if(chute < numerosecreto) {
        printf("Seu chute foi menor do que o número secreto!\n");
    }
}

A variável chute não foi incializada e poderá causar o fluxo de execução a cair em qualquer uma das possibilidades. Convém adicionar um "= 0" na declaração.

4 respostas
solução!

Olá Daniel.

Verdade, o código do jeito que está não faz sentido, mesmo que o seu objetivo seja exercitar o entendimento de como funciona o if e else, da maneira que está escrito não é legal.

Acho que seria valido incluir o scanf já que ele já foi apresentado nas aulas:

printf("Qual e o seu chute?");
scanf("%d", &chute);
printf("Seu chute foi %d\n", chute);

Ou a sua sugestão de fixar um valor para o chute.

Obrigado, Bons Estudos.

Na verdade, para estar correto, deveria ser colocada a instrução

if (acertou =42).

assim funciona!

Boa noite

if (acertou=42)

Sempre seria TRUE, mas esse não seria exatamente o uso indicado para acertou. O instrutor pretendia que acertou fosse usado como flag.

Correto Daniel, nas atividades seguintes essa dúvida foi esclarecida! Muito obrigado!