C/C++の宿題片付けます 127代目
■ このスレッドは過去ログ倉庫に格納されています
009683
2009/06/09(火) 21:50:54>>89 getsでつまずきましたw
int first_word_len(char s[256]) {
int len = 0, i;
for (i=0; s[i]; i++) {
if (len && s[i] == ' ') break;
len++;//先頭の空白もカウント
}
return len;
}
int word_cnt(char s[256]) {
int cnt = 0, word_len, total_len; char temp[256];
strcpy(temp, s);
while (1) {
word_len = first_word_len(temp);
if (word_len) {
total_len += word_len;
memset(temp, '\0', 256);
memcpy(temp, &s[total_len], 256 - total_len);
cnt++;
} else { break; }
}
return cnt;
}
int main() {
int cnt;
//getsで受け取ると失敗する
//char s[256]; gets(s);
char s[256] = "Hello World word3 word4 word5";
cnt = word_cnt(s);
printf("cnt: %d\n", cnt);
}
■ このスレッドは過去ログ倉庫に格納されています