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

Condição &&

Utilizei uma condição só com um & conforme o código a baixo

if ( 18 < imc & imc < 40){
    mostra(nome + " seu IMC está dentro do esperado!");
    }

e o mesmo funcionou normalmente.

Qual é a diferença do "&" e o "&&"??

2 respostas
solução!

Oi Rafael, tudo bem ?

Então cara, é bem sútil a diferença.

Pensa no seguinte o imc vale 17, tranquilo ?

Logo na primeira comparação, o resultado seria false ok ?

E como estamos utilizando uma condição composta, ambas deveriam ser true para entrar.

Ai que vem a sacada, quando a gente usa com apenas & o que vai acontecer em tempo de execução é o seguinte : os dois lados são comparados, dando false e true, como existe um false não entra no if.

Agora, quando a gente usa &&, o que vai rolar é: a primeira comparação é executada e vai dar false, nisso ele já é mais espertinho e fala, se sei que não vou entrar nem vou comparar o outro lado, ele simplesmente ignora a segunda sentença.

Espero ter ajudado

Opa, ajudou sim Matheus, obrigado pela dica!