Video: Google Keynote (Google I/O'19) 2024
Il linguaggio C ti offre una serie di modi per costruire un programma che prende una decisione. Se hai bisogno che qualcosa accada solo quando viene soddisfatto un determinato prerequisito, C ti offre la parola chiave if. Se il tuo programma ha bisogno di scegliere tra due percorsi, usare altrimenti con la tua istruzione if ti offre ancora più scelte.
Se il tuo programma C ha bisogno di prendere una decisione più complicata, puoi usare else if. Usando altrimenti se, è possibile avere più dichiarazioni if impilate l'una sull'altra, restringendo un albero decisionale complesso in alcuni possibili risultati:
#include int main () {float temp; printf ("Qual è la temperatura esterna?"); scanf ("% f", & temp); if (temp = 80) {printf ("My but it's hot out!");} else {printf ("My how pleasant!");} return (0);}
Questo è un modo per gestire più condizioni in C. Ecco come funziona:
-
Il primo confronto viene eseguito da if nella riga 9.
Se il valore della variabile temp è inferiore a 65, quelle istruzioni appartenenti a if vengono eseguite; il resto della costruzione (righe da 13 a 20) viene saltato.
-
Quando il primo confronto è falso, il confronto viene eseguito da altro se nella riga 13.
Quando tale confronto è true, le istruzioni che appartengono a else if vengono eseguite; Le righe da 17 a 20 (inclusi) vengono saltate.
-
Infine, quando sia if che else se i confronti sono falsi, vengono eseguite le istruzioni che appartengono a else (Line 17).
Quando esegui confronti multipli, è importante ottenere l'ordine giusto. Spesso, ciò richiede un'immagine visiva, come quella mostrata qui, perché, se non è possibile visualizzare i confronti e il modo in cui eliminano il risultato, il programma non fa ciò che si intendeva. (Questo è un tipo di errore "bug".)
In questa illustrazione, è possibile vedere come la prima istruzione if elimina le temperature inferiori a 65. Successivamente, la dichiarazione else if elimina tutte le temperature 80 e successive. Quando arrivi alla fine, le temperature rimaste sono nell'intervallo da 65 a 79. 99.
Ora supponi che qualcuno non stia pensando e le tre affermazioni appaiano come mostrato nella figura che segue. In questo esempio, non rimane nulla da rappresentare per altri, e il programma molto probabilmente fornisce una risposta errata. (Nota che il compilatore non indica questo tipo di errore mentale.)
I tuoi confronti possono produrre risultati cattivi se non li hai pensati completamente.