我试图让我的程序打印出测试字符串中的单词数量,但它却打印出一个更大的数字。例如,我的测试字符串有 24 个单词,而我的程序打印出 102 个单词。我想知道为什么要这样做。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) {
char testval[1024]="This is a test... this is only a test... for the next sixty seconds this will be a test of the emergency broadcasting system.";
int inWord=0;
int wordCount=0;
int i=0;
while(testval[i] != 0) {
if (testval[i]==' ') {
if (inWord) inWord=0;
} else {
if (!inWord)
inWord=1;
wordCount++;
}
i++;
}
printf("The number of words in testval is %d\n",wordCount);
return 0;
}
./numWords
The number of words in testval is 102
if (!inWord)
inWord=1;
wordCount++;
您错过了一对 {}
来包含这 2 个语句。 wordCount++;
对所有 非空格字符执行。
我是一名优秀的程序员,十分优秀!