31.07
2023
Mais um caso que didaticamente faz muito sentido, mas a realidade é um pouco diferente. Como a maioria reagiria à afirmação de que não existe a estrutura if-elseif na linguagem C? Pois não existe mesmo e é fácil de comprovar.
Esclarecendo
Na verdade o que existe não é uma estrutura de controle de fluxo, mas sim uma construção que funcionqa da mesma forma. É mais uma forma de formatar o código, normalmente o if-elseif é ensinado da seguinte forma:
if (x > 5) {
printf("X maior que 5\n");
} else if (x < 5) {
printf("X menor que 5\n");
} else {
printf("X igual a 5\n");
}
Que também pode ser formatado desta forma:
if (x > 5) {
printf("X maior que 5\n");
} else {
if (x < 5) {
printf("X menor que 5\n");
} else {
printf("X igual a 5\n");
}
}
Ou seja, na verdade não existe o comando elseif, e sim uma construção que funciona como se fosse o comando utilizado em diversas outras linguagens.
Profissionalmente
Profissionalmente o mais indicado é utilizar a construção tal qual é ensinada, mas de forma consciente. A construção elseif do C torna o código muito mais legível ao agregar diversos ifs aninhados como se fosse uma única estrutura de controle de fluxo, aumentando a visibilidade e facilitando a manutenção.
Aninhar ifs de forma desnecessária somente gera dificuldade na interpretação do código, dificultando sua manutenção e aumentando o custo geral do time de desenvolvimento.