Escolher entre várias opções na linguagem C com else-if

A linguagem C dá-lhe uma série de maneiras de construir um programa que faz uma decisão. Se você precisa de algo acontecer somente quando um pré-requisito especial é cumprida, C oferece-lhe a E se palavra-chave. Se o seu programa precisa escolher entre dois caminhos, usando outro com o seu E se declaração lhe dá ainda mais opções.

Se o seu programa C precisa tomar uma decisão mais complicada, você pode usar outro E se. Por usar outroE se, Você pode ter várias E se declarações empilhados em cima uns dos outros, estreitando uma árvore de decisão complexo em alguns resultados possíveis:

#include int main () {float temp-printf ( "Qual é a temperatura lá fora?") - scanf ( "% f", temp) -se (temperatura lt; 65) {printf ( "My mas é um pouco frio fora! N") -} else if (temp> = 80) {printf ( "My mas é quente!") -} Else {printf ( "My quão agradável ! ") -} return (0) -}

Esta é uma maneira de lidar com múltiplas condições em C. Veja como funciona:

  1. A primeira comparação é feita pela E se Na linha 9.

    Se o valor da variável Temp é inferior a 65, essas declarações pertencentes a E se são executed- o restante da construção (linhas 13 a 20) é ignorada.

  2. Quando a primeira comparação é falsa, a comparação é feita através else if Na linha 13.

    Quando a comparação é verdadeira, as declarações pertencentes a else if são linhas executed- 17 a 20 (inclusive) são ignorados.

  3. Finalmente, quando ambos E se e else if comparações são falsas, as declarações pertencentes a outro (Linha 17) são executados.

Quando você está realizando comparações múltiplas, é importante para obter o direito ordem. Muitas vezes, isso requer uma imagem visual, como a mostrada aqui, porque, se você não consegue visualizar as comparações e a forma como eles eliminam o resultado, o programa não faz o que você pretende. (Este é um tipo de "bug" do erro.)

Como se, else if, else e reduzir as possibilidades.
Como se, else if, else e reduzir as possibilidades.

Nesta ilustração, você pode ver como o primeiro E se declaração elimina quaisquer temperaturas inferiores a 65. A seguir, o else if declaração elimina todas as temperaturas de 80 e superiores. Quando você chegar à final outro, as temperaturas que permanecem são na gama de 65 a 79,99.

Agora vamos supor que alguém não estava pensando e as três declarações aparecem como mostrado na figura a seguir. Neste exemplo, é deixado para nada outro para representar, eo programa provavelmente produz uma resposta inadequada. (Note que o compilador não apontar este tipo de erro mental.)

Suas comparações podem produzir maus resultados se você haven't thought them through completely.
Suas comparações podem produzir maus resultados, se você ainda não pensou-los através de completamente.

menu