Arisalve...purtroppo non riesco a capire perchè quando devo trattare caratteri negli array mi impiccio!

Spiego quello che deve fare il programma: Un array di caratteri e punteggiatura (l'array è gia definito) devo stampare il numero di caratteri all'interno dell'array senza contare la punteggiatura.

Ho scritto questo codice ma quando vado a stampare il risultato è del tutto sballato (come al solito)

codice:
char v1[] = "A,IOH:,...,;HUSI";
        int i,j;



                for(i=0; i<MAX; i++){

                        if(v1[i] >= 'A' && v1[i] <= 'Z')
                                j++;

                }


                printf("%d \n", j);

Luca