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...
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;
}
il doppio puntatore nella funzione è necessario al mio programma (anche se qui in realtà non lo è...)