/*
問題1
文字列strの長さを返す関数mystrlenをつくれ。
プロトタイプはlong mystrlen(const char *str)とする。
*/
long mystrlen(const char *str)
{
return *str ? mystrlen(str+1)+1 : 0;
}
/*
問題2
文字列s1の後ろに文字列s2を連結する関数mystrcatを作れ。
プロトタイプはvoid mystrcat(char *s1,const char *s2)とする。
*/
void mystrcat(char *s1,const char *s2)
{
if (*s2)
{
s1 += mystrlen(s1);
s1[0] = *s2;
s1[1] = 0;
mystrcat( s1, s2+1 );
}
}

void main( int ac, char *av[] )
{
char str[11];
printf( "%d\n", mystrlen("1234567890") );
str[0] = 0;
mystrcat( str, "12345" );
mystrcat( str, "67890" );
puts( str );
}