Ho trovato il codice seguente durante la ricerca su google.Il compilatore non ha fornito un errore per il nome alternativo per il caso "predefinito" nell'interruttore
int main()
{
int a=10;
switch(a)
{
case '1':
printf("ONE\n");
break;
case '2':
printf("TWO\n");
break;
defa1ut:
printf("NONE\n");
}
return 0;
}
Il compilatore non sta dando un errore anche se il 'default' è sostituito da qualsiasi altro nome. Sta semplicemente eseguendo il programma ed uscendo dal programma senza stampare nulla.
Qualcuno potrebbe dirmi perché il compilatore non sta dando un errore sul caso di default? quando non è scritto come "predefinito"?
: Grazie per la risposta. Quindi, ciò significa che posso accedere a questa etichetta goto da altre parti del programma, anche se l'etichetta si trova all'interno di un'istruzione switch – ponnus
1/Che non agirà allo stesso modo, stamperà "NONE" finché le mucche non torneranno a casa. 2/È una programmazione particolarmente cattiva che sembra aver convinto l'OP da usare. Meglio spiegare semplicemente _why_ questo succede e proporre la soluzione di ortografia 'default' correttamente. – paxdiablo