これは私に問題を与えている私の小さなスニペットです:
int main(int argc, char** argv) {
char string[75] = {0};
char *pChar;
int count = 0;
printf("String: ");
fgets(string, sizeof string, stdin);
printf("Numero parole: %d\n", countWords(string, strlen(string)));
// Suddivido la stringa nelle varie parole
pChar = strtok(string, " ");
while(pChar){
if(isWord(pChar, strlen(pChar))){
count += strlen(pChar);
}
pChar = strtok(NULL, " ");
}
printf("Lettere totali: %d\n", count);
return (EXIT_SUCCESS);
}
問題は、カウント変数に値が割り当てられていないことです。何かが間違っていることはわかっていますが、何が間違っているのかまだわかりません。
助けてくれてありがとう^^
PS私は現在Cを学んでいるので、これはおそらくばかげた質問です。
PPS リクエストされた isWord 関数は次のとおりです: (イタリア語のコメントは気にしないでください)
// Controlla se è una parola
int isWord(char string[], int length){
int i = 0; // Contatore
int countAlpha = 0; // Se il carattere è alfabetico. Non vengono
// contate le parole che contengono numeri
// Inizio scorrendo tutta la stringa tranne l'ultimo carattere che è un
// terminatore di stringa
for(i; i < length - 1; i++){
// Se il carattere è alfabetico allora aumento il contatore isAlpha
if(isalpha(string[i])){
countAlpha++;
// Altrimenti il carattere non è una lettera
} else {
countAlpha = 0;
}
}
if(countAlpha == i){
return 0;
} else {
return 1;
}
}