scusa a furia di modificarlo ho rimasto l'operatore and....
ho effettuato comunque la modifica, ma nonostante ciò mi stampa quattro caratteri strani che non corrispondono ad h,e,l,p

#include <stdio.h>
main()
{
char V[] = {'h','d','f','f','f','e','d','f','f','f','l','d',' f','f','f','p'};
char n[4];
int I,j=0;
for (I=0;I < 16;I++)
{
if (V[I]=='h' || V[I]=='e' || V[I]=='l' || V[I]=='p')
{
V[I]=n[j];
}
j++;
}
for(j=0;j<4;j++)
{
printf("%c ",n[j]);
}
}