Salve a tutti,
quando compilo il seguente codice non viene riportato alcun errore ma al momento dell'esecuzione riesco solo ad inserire i dati relativi al nome e l'età, infatti il comando scanf per assegnare un valore alla variabile iniziale non viene eseguito, quindi vengono stampati solo i dati relativi al nome e l'età
codice:
#include <stdio.h>

typedef struct persona
{
	char nome[10];
	int eta;
	char iniziale;
}persona;

void leggi(persona *p);
void vis(persona *p);

int main(void)
{
	persona ale;
	leggi(&ale);
	vis(&ale);
}

void leggi(persona *p)
{
	scanf("%s%i%c",p->nome,&p->eta,&p->iniziale);
}
void vis(persona *p)
{
	printf("%s %i %c",p->nome,p->eta,p->iniziale);
}