Problema con if - else

di il
1 risposte

Problema con if - else

Sono ancora alle prime armi con C, quindi, sto provando a fare cose molto semplici. Mentre provavo a capire come funzionavano if - else, ho iniziato ad avere dei problemi. Questo è il codice.

#include<stdio.h>

main()
{
	int a;

	printf(" ");
	scanf("%d",&a);

	if (a==6)
		printf("Ciao");
	else (a!=6)
		printf("Addio");

	printf("\n\n");
}
Ora il debugger (se posso chiamarlo così) mi dice che dovrei aggiungere ";" dopo else. Oltre a questo problema, se provo a fare come mi viene detto, quindi:

#include<stdio.h>

main()
{
	int a;

	printf(" ");
	scanf("%d",&a);

	if (a==6)
		printf("Ciao");
	else (a!=6);
		printf("Addio");

	printf("\n\n");
}
mi si creano altri problemi.
Se a è diverso da 6 allora stampa solo "Addio", altrimenti stampa "CiaoAddio".
Ecco, sono sicura che sto sbagliando qualcosa, ma non riesco a capire dove.

1 Risposte

  • Re: Problema con if - else

    Se lo traduci in italiano diventa:
    
    se (a vale 6) 
       ...
    altrimenti (a non è 6) // direi più che ovvio
       ...
    
    Per cui l'else è la chiusura di uno o più if in cascata.
    
    if (a == 6)
        printf("ciao");
    else // per tutto il resto
        printf("addio"); 
    
    ...
    
    if (a == 6) // caso in cui a vale sei
        printf("ciao");
    else if (a == 7) // caso in cui a vale sette
        printf("hello");
    else // per tutto il resto
        printf("addio");
    
    
Devi accedere o registrarti per scrivere nel forum
1 risposte