In realtį non č che il compilatore non legge h, ma č che vuole il numero sottoforma di stringa . . . Potresti provare a convertire un numero in una stringa tramite la sprintf (per riferimenti sulle funzioni e quant' altro su c/c++ vai qui ) . . . Attualmente non posso verificare ma potresti fare tipo:
codice:
 
char buf[50]; 
int h=6;
 sprintf(buf, "valore inserito č %%0%dd", h); 
printf(buf, p);
Chiedo scusa anticipatamente se ho commesso qualche errore