Salve. Devo creare un programma che dato un testo, deve restituire la parola più lunga e la sua lunghezza, ma ho un problema di puntatori. Praticamente, al printf viene stampato: (null) e la lunghezza... ma perchè longestWord diventa null? Non capisco o_O Vorrei evitare di usare variabili globali...
codice:#include <stdio.h> #include <string.h> void getMaxLengthWord (char *text, char *longestWord, int *maxLength); int main() { char text[] = "rosso verde blu"; char *longestWord; int maxLength; getMaxLengthWord (text, longestWord, &maxLength); printf ("%s %d\n", longestWord, maxLength); return 0; } void getMaxLengthWord (char *text, char *longestWord, int *maxLength) { int counter = 0; *maxLength = 0; char *word = strtok (text, " "); while (word != NULL) { int length = strlen (word); if (length > *maxLength) { *maxLength = length; longestWord = word; } word = strtok (NULL, " "); } }

Rispondi quotando
