mi spiegate dove sbaglio con il ragionamento? posto questo codice creato al momento per semplificare la lettura.
sta di fatto che non riesco a far scorrere il puntatore per legggere le singole lettere della stringa... credo che l'errore sia talmente stupido che non riesco nemmeno a vederlo...
il doppio puntatore nella funzione è necessario al mio programma (anche se qui in realtà non lo è...)codice:#include <stdio.h> #define SIZE 10 void myFunc (char **sPtr, char *word); int main(){ char string[SIZE], word[SIZE]; char *sPtr; fgets (string, SIZE, stdin); sPtr = string; myFunc(&sPtr, word); printf("\n%s\n", word); return 0; } void myFunc (char **sPtr, char *word){ int cont = 0; printf("\nstringa puntata da sPtr: %s\n", *sPtr); printf("*sPtr[%d] punta alla lettera %c\n",cont, *sPtr[cont]); while (cont < SIZE){ word[cont] = *sPtr[cont++]; printf("\nword[%d]: %c\n", cont - 1, word[cont - 1]); /*INCREMENTANDO cont QUESTA ISTRUZIONE PORTA AD UN BUS ERROR*/ printf("\nora *sPtr[%d] punta alla lettera %c\n",cont, *sPtr[cont]); } return; }

Rispondi quotando
