BohYoh.comトップページへ

C言語によるアルゴリズムとデータ構造

戻る  

演習8-3の解答

 List 8-6List 8-7List 8-8に示した関数str_len を、strlen 関数の仕様にしたがって、それぞれ書きかえよ。また、それらに対する比較考察を行え。

/* 演習8-3 文字列の長さを求める(標準ライブラリstrlen関数と同じ仕様) */ #include <stdio.h> /*--- 文字列sの長さを求める(実現例1)---*/ size_t str_len1(const char *s) { size_t len = 0; while (s[len]) len++; return (len); } /*--- 文字列sの長さを求める(実現例2)---*/ size_t str_len2(const char *s) { size_t len = 0; while (*s++) len++; return (len); } /*--- 文字列sの長さを求める(実現例3)---*/ size_t str_len3(const char *s) { const char *p = s; while (*s) s++; return (s - p); } #include <stdio.h> int main(void) { char str[100]; printf("文字列:"); scanf("%s", str); printf("その文字列は%d文字です。\n", str_len1(str)); printf("その文字列は%d文字です。\n", str_len2(str)); printf("その文字列は%d文字です。\n", str_len3(str)); return (0); }


戻る