# include & ltstdio.h & gt
# include & ltstring.h & gt//包含字符串處理函數的頭文件
推薦int main(void) //main()函數的標準寫法之壹。
{
/*輸入行最多只能有1000個字符,每個單詞的結束符號。
*只有逗號,其他符號都視為單詞中的字符(有小bug)。
*/char str[1000];
int i,count = 0;
printf("輸入壹個字符串(用',')分隔):\ n ");
//gets(str);
/*少用gets(),最好用f gets()函數,其用法如下,第壹個
*參數是目標字符的第壹個字符串地址、寫入第二個字符串的字符數和第三個字符串地址。
*輸入來源;也就是說,最多可以向字符串str中輸入1000個字符。
*/
fgets(str,1000,stdin);
/*根據問題的含義,在輸入行中,函數strlen(str)用於獲取
*該行中輸入的字符數。count用於統計字數,定義時初始化。
*變成0,遇到逗號,加1;轉到最後壹個逗號並計數
*當字符數小於行長度時,仍有字符未被統計,這意味著
*仍有未統計的單詞。將計數加上1。
*/
for(I = 0;我& ltstrlen(str);i++)
if(str[i] == ',')
count++;
count++;
printf("words : %d\n ",count);
返回0;
}
下面是編譯和執行程序的結果。
馮@linux:~$!g
gcc-墻壁測試
* * * * * * * * * * * * * * * * * * * * * * * *第壹次測試* * * * * * * * * * * * * * * * *
馮@linux:~$。/a.out
輸入壹個字符串(用','分隔) :
妳好,這是,a,c,progarm //輸入線。
字數:6 //字數
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
馮@linux:~$。/a.out
輸入壹個字符串(用','分隔) :
妳好,這個,是,a,c,//逗號後面是空格字符。
單詞:6
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
馮@linux:~$。/a.out
輸入壹個字符串(用','分隔) :
妳好,這,是,a,c,!
單詞:6
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
馮@linux:~$。/a.out
輸入壹個字符串(用','分隔) :
妳好,這是,a,c
單詞:5