輸入一個字符串,求它包含多少個單詞。單詞間以一個或者多個空格分開。
第一個單詞前,最後一個單詞後也可能有0到多個空格。
比如:” abc xyz” 包含兩個單詞,”ab c xyz ” 包含3個單詞。
如下的程序解決了這個問題,請填寫劃線部分缺失的代碼。
注意:只填寫劃線部分的代碼,不要填寫任何多餘的內容。比如已經存在的小括號,註釋或說明文字等。
int get_word_num(char* buf)
{
int n = 0;
int tag = 1;
char* p = buf;
for(;*p!=0 && *p!=13 && *p!=10;p++){
if(*p==' ' && tag==0) tag=1;
if( _____________________ ) { n++; tag=0; } //填空
}
return n;
}
int main()
{
char buf[1000];
fgets(buf,1000,stdin);
printf("%d\n", get_word_num(buf));
return 0;
}
本題的答案爲:tag==1&&*p!=0
只有當滿足tag==1&&*p!=0時,纔是一個新的單詞開始的時候。