我正在尝试让我的程序打印出测试字符串中的单词数量,但它会打印出更大的数字。例如,我的测试字符串有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
答案 0 :(得分:2)
{}
你错过了一对wordCount++;
来附上2个陈述。 所有非空格字符都执行了name
。
答案 1 :(得分:1)
对于每个空格,只需递增propertyTypes = [
{key:'OFFICE', value:false},
{key:'RESIDENTIAL', value:false},
{key:'RETAIL', value:false},
{key:'INDUSTRIAL', value:false},
{key:'HOTEL', value:false}
];
property_types= [
{
type: "OFFICE"
},
{
type: "RETAIL"
}
];
propertyTypes.forEach(function(pType) {
for (index = 0; index < property_types.length; ++index) {
if(pType.key==property_types[index].type){
pType.value = true;
break;
}
}
});
。最后添加一个,你就得到了答案。