Nella funzione devi usare un altro contatore ad esempio j, che userai per il vettore p da incrementare solo se assegni un valore a p.
Questo contatore lo devi restituire ( funzione int e non void) in modo che nel main la fir sia limitata da questo contatore.