As vezes será necessário a utilização de estruturas de decisão aninhadas, ou seja, uma dentro da outra. Para entender como isso funciona, vamos ao nosso exemplo.
Imagine que agora não queremos saber apenas se o número é positivo ou negativo, mas também queremos saber se ele é exatamente igual a zero.
Estruturando nosso pensamento de uma forma algorítmica, temos algo assim:
se (num < 0) então negativo senão{ se (num > 0) então positivo senão igual a zero }
Perceba que dentro do “senão” temos outra estrutura de decisão completa. Esta sequência de passos pode ser traduzida para a linguagem de programação C assim:
int num; printf("Digite um valor inteiro: "); scanf("%d", &num); if(num < 0) printf("Negativo!\n"); else{ if(num > 0) printf("Positivo!\n"); else printf("Igual a zeo!\n"); }
A estrutura de decisão if/else pode ser aninhada várias vezes, dependendo da complexidade do problema que está sendo resolvido. Isso pode ser feito tanto dentro da instrução if quanto dentro da instrução else, dependendo do que o problema pede.