Bem vindo a aula 41 de nosso curso gratuito de programação com a linguagem C.
Nas aulas anteriores nós aprendemos que para verificar se um número é negativo temos algo semelhante à:
se (num < 0) então
imprimir mensagem
Também aprendemos que esse pensamento pode ser traduzido para a linguagem de programação C, onde o “se” é o “if”, assim:
int num; printf("Digite um valor inteiro: "); scanf("%d", &num); if( num < 0 ) printf("O valor digitado eh negativo!\n");
Mas, o que de fato indica algo verdadeiro ou falso na linguagem de programação C?
Bom, um jeito fácil de descobrir esta resposta é colocar nosso teste dentro da função printf() e tentar imprimir seu valor lógico, assim:
int num = 10; printf("%d", num < 0);
Para facilitar o teste, podemos substituir as variáveis por valores, assim:
printf("%d", -10 < 0); // resultado impresso: 1 printf("%d", -10 > 0); // resultado impresso: 0 printf("%d", 10 < 0); // resultado impresso: 0 printf("%d", 10 > 0); // resultado impresso: 1
Observando este resultado. Concluímos que qualquer operação de teste gera um resultado numérico igual a zero (0) se for falso e diferente de zero se for verdadeiro.
Logo, um if que tenha apenas o número zero em seu interior, assim:
if(0) // sempre falso
será sempre falso e, consequentemente, um if com qualquer valor diferente de zero, será sempre verdadeiro.
if(0.001) // sempre verdadeiro