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

Dúvida sobre declaração de variáveis.

Olá!
Se a variável "acertou", por exemplo, vai armazenar um valor booleano, porque não declaramos ela como "bool" e sim como "int"? Mais importante: porque funciona ao se declarar como um inteiro?

1 resposta
solução!

Oi Luísa! Tudo bem?

A linguagem C não possui um tipo de dado booleano nativo como algumas outras linguagens de programação. Em vez disso, utilizamos o tipo int para representar valores booleanos, onde o valor 0 é interpretado como false e qualquer valor diferente de 0 é interpretado como true.

Por exemplo, no trecho de código que você trouxe:

int acertou = chute == numerosecreto;

Aqui, chute == numerosecreto é uma expressão que resulta em 1 (verdadeiro) se chute for igual a numerosecreto, e 0 (falso) caso contrário. Assim, a variável acertou armazena um valor inteiro que representa o resultado booleano da comparação.

Essa abordagem funciona porque, no C, as condições em estruturas de controle como if e while são baseadas em valores inteiros, onde 0 é falso e qualquer outro valor é verdadeiro. Portanto, declarar acertou como int é perfeitamente válido e funciona conforme esperado.

Espero ter ajudado. Conte com nosso apoio :)

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado