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

Mais condicional

Fiquei com dúvidas nessa parte da comparação int acertou = chute == numerosecreto; e no if. Na minha interpretação entendi o seguinte:

As duas primeiras variáveis chute e numerosecreto são criadas e inicializadas, depois a variável acertou recebe a comparação de chute (0) e numeroscreto(42). Isso seria como dizer que acertou = 0 == 42, ou seja, 0 é igual a 42? Então quando comparados retorna true? Fiz um teste para entender melhor:

int chute = 0;
printf("%d \n", chute);

int numerosecreto = 42;
printf("%d \n", numerosecreto);

int acertou = chute == numerosecreto;
printf("%d = %d == %d \n", acertou, chute, numerosecreto);

printf("Agora acertou recebe %d\n", acertou);

output:

0
42
0 = 0 == 42
Agora acertou recebe 0

A partir disso, como o if funciona apenas com uma variável sem a sintaxe de comparação padrão?

2 respostas
solução!

Fala! Nathalia, tudo bem ?

O resultado da comparação entre 0 e 42 vai ser armazenado na variável “acertou”. Logo, a variável “acertou” é quem vai dizer se essa comparação é verdadeira ou não.

Na linguagem de programação C, o valor booleano falso é representado pelo número 0. Qualquer outro valor diferente de zero significa verdadeiro na linguagem C. Logo, essa comparação entre 0 e 42, vai retornar e armazenar 0 na variável “acertou”, dizendo que essa comparação é falsa.

acertou = 0 == 42

Esse código irá armazenar falso na variável “acertou”, dizendo que essa comparação é falsa. Essa comparação seria verdadeira se fosse feita da seguinte forma:

acertou = 0 != 42

Agora sim, a comparação é verdadeira, porque esses números são diferentes. E nossa variável “acertou” vai armazenar 1 como resultado.

E o if, irá funcionar de forma parecida, se a condição do if for verdadeira ele irá executar, ou seja, se a variável dentro do if tiver um valor maior que zero armazenado, a condição será verdadeira e o if irá executar.

acertou = 0 != 42
if(acertou){
    printf("Agora acertou%d\n");

}

Se você tiver mais alguma dúvida, estou por aqui.

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

Muito obrigada, André. Era bem essa minha duvida!