文字列の長さを求める(反復法と再帰法)
1302 ワード
まずstrlen関数を復習しましょう.
strlen(文字配列)
これは、文字列の長さをテストする関数です.関数の値は、文字列の実際の長さ('0'を除く)です.たとえば、次のようになります.
char str[10]='"china";
printf("%d",strlen(str));
出力の結果は5
文字列定数の長さを直接テストすることもできます.たとえば、次のようにします.
strlen("china");
strlen(文字配列)
これは、文字列の長さをテストする関数です.関数の値は、文字列の実際の長さ('0'を除く)です.たとえば、次のようになります.
char str[10]='"china";
printf("%d",strlen(str));
出力の結果は5
文字列定数の長さを直接テストすることもできます.たとえば、次のようにします.
strlen("china");
<span style="font-size:18px;">#include <stdio.h>
#include <string.h>
#include <assert.h>
int my_strlen(char *str)
{
assert(str);//
int one=0;// ,
while(*str++!='\0')// '\0'
{
one++;
}
return one;
}
int main()
{
int ret=my_strlen("hello");// strlen
printf("%d
",ret);
return 0;
}
</span>
<span style="font-size:18px;">//
#include <stdio.h>
int strlen(char *p)
{
if (*p == '\0')
return 0;
else
return 1 + strlen(p + 1);
}
int main()
{
char *p = "country";
int ret = strlen(p);
printf("%d
", ret);
//getchar();// VS2013 , getchar
//
return 0;
}</span>