Su array e puntatori esiste una regola "aurea": una espressione a[i] viene convertita (dal compilatore) nella equivalente *(a+i)Originariamente inviato da ilmo lesto
ma mi spieghi allora perchè nella funzione myFunc, la prima printf, dove cerco di visualizzare il carattere puntato da sPtr, viene interpretata correttamente, mentre quando incremento cont non viene più letta correttamente? non dovrebbe darmi errore anche nella prima printf?
Pertanto la tua espressione
*sPtr[cont]
viene convertita in:
*( *(sPtr+cont) )
Se cont = 0 (come all'inizio nella printf), l'espressione diventa:
**sPtr, che, come caso particolare, è corretta e permette di accedere al primo carattere della stringa.
Ma come ho detto *sPtr[cont] non è quello che ti serve, perché tratterebbe sPtr come un array di puntatori, andando a prendere il puntatore all'indice 'cont' per poi dereferenziarlo.
Però tu non passi alla funzione un puntatore a un array di puntatori a char, bensì passi un puntatore a un singolo puntatore a char.