Na aula anterior aprendemos a instrução if (se) utilizada para testes. Vimos que qualquer instrução dentro do if apenas será executada se o teste for verdadeiro e qualquer instrução que estiver abaixo da instrução if será executada normalmente. Assim, a mensagem “Fim do programa!” será impressa normalmente na tela independente do resultado do teste lógico realizado na instrução if.
int num; printf("Digite um valor inteiro: "); scanf("%d", &num); if( num < 0 ) printf("O valor digitado eh negativo!\n"); printf("Fim do programa!\n");
Mas, e se endentarmos a última instrução, assim:
int num; printf("Digite um valor inteiro: "); scanf("%d", &num); if( num < 0 ) printf("O valor digitado eh negativo!\n"); printf("Fim do programa!\n");
significa que ela também apenas será executada quando o teste for verdadeiro?
A resposta é NÃO!
Na linguagem C a endentação é um recurso visual para ajudar o programador ler o código. Logo, isso nos leva a conclusão de que a endentação não produz nenhuma interferência na compilação de seu código (tradução da linguagem C para linguagem de máquina).
Como inserir então mais de uma instrução dentro da instrução if?
Simples, com um par de chaves {}.
Se nosso programa possuir apenas uma instrução dentro do if, como nosso exemplo inicial, o uso de chaves é OPCIONAL. Contudo, para duas ou mais instruções, o uso de chaves é OBRIGATÓRIO. É o par de chaves que irá determinar o bloco de instruções que está dentro da instrução if.
No exemplo a seguir, com um par de chaves, as duas instruções printf estão dentro do if, independente de estarem endentadas ou não:
int num; printf("Digite um valor inteiro: "); scanf("%d", &num); if( num < 0 ){ printf("O valor digitado eh negativo!\n"); printf("Fim do programa!\n"); }
Se você está aprendendo com este curso,:
- Se inscreva no canal…
- Pressione o sininho para ser notificado…
- Deixe seu like (assim saberei que gostou, além de me incentivar a continuar)
- Apresente o canal à seus amigos!