Cos'è questo?
char *Punt1[6];
Un array di 6 puntatori a char?
codice corretto
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *I,*num_caratteri;
char Punt1[6] = {0};
num_caratteri=(int*)malloc(sizeof(int));
I=(int*)malloc(sizeof(int));
*num_caratteri=6;
*I=0;
do
{
scanf("%c", &Punt1[*I]);
getchar();
(*I)++;
printf("%d\n",(*I));
}
while(*I < *num_caratteri);
system("PAUSE");
return 0;
}
siccome stai prendendo un carattere, nel buffer è rimasto anche il \n che viene di nuovo preso dal successivo scanf.ciò ti fa incrementare il tuo *I.