Salve sono una studentessa al primo anno di Informatica. Sto preparando un esame in c ma ho riscontrato un problema con l'implementazione di un menù, sapreste aiutarmi?
Il codice è questo(inserisco solamente il menù):

codice:
int main(){
	char* nomeFile;
	int scelta;
	lista l;
	int continua = 1;
	while (continua){ 
		schermoMenuPrincipale(&scelta);
		switch(scelta){
			case 0: {
				continua = 0;
				break;
			}
			case 1: {
				printf("Inserisci il nome del file da cui prelevare i dati \n");
				scanf("%s", nomeFile);
				leggiDaFile(&l, nomeFile);
				break;
			}	
			case 2:	{
				stampa(l);
				break;
			}	
			case 3:	{
				verifica(l);
				break;
			}	
			default: {
                printf("Operazione non consentita\n");
			}
		}	
	}	
	return 0;
}

void schermoMenuPrincipale(int* pscelta){
	printf("----------------------------- \n");
	printf("Benvenuto nel Menu Principale \n");
	printf("1. LEGGI da file \n");
	printf("2. STAMPA \n");
	printf("3. MOSTRA IL CAMION CON PIU' CAPACITA' \n");
	printf("0. Esci \n");
	scanf("%d", pscelta);
	return;
}
Praticamente se appena avvio il programma inserisco subito lo '0' il programma si interrompe correttamente ma se prima inserisco un'altra opzione e poi lo '0' non esce! Come mai?