- 14 名前:デフォルトの名無しさん mailto:sage [2008/12/16(火) 21:24:45 ]
- 前スレ992です。
前スレ995,996,998,999,本スレ5,7さんありがとうございました。 996さんのおっしゃったとおり、区切り文字が連続する場合は1つの区切り文字としたかったので、 みなさんのレスを参考に、以下のようにしてみました。 int word(char s[]){ int n, i, j; i = 0; j = strlen(s); for(n = 0; n < j; n++){ if(!isspace(s[n]) && isspace(s[n+1])){ i = i + 1; } } return i; } これで実行したところ、aa bbでも2と出力されました。 if(isspace(s[n]) != 0){ の部分を if(!isspace(s[n]) && isspace(s[n+1])){ とすることで連続して空白文字がきた場合はカウントせず、 文字+空白文字となっているときのみカウントするようにしました。
|

|