08/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])){
とすることで連続して空白文字がきた場合はカウントせず、
文字+空白文字となっているときのみカウントするようにしました。