fetus Diary

2007/10/13(土) - いや・・・

まったく別の場所で見つけてきたソース

int my_strlen(char *s){
    if(*s == '\0')
        return 0;
    return my_strlen(s+1) + 1;
}

前提条件として、「stdlib 使用禁止」らしい(ポインタ学習のため)ので strlen 関数を自作するのは良いとして、その再帰呼び出しは何なのよ…。

末尾再帰はループに展開するような言語ならともかく、C でそれやったら簡単にスタックあふれちゃうよ。

コメント

コメントはありません。

名前
メール
コメント

※HTML タグは使えません。HTTP URL には自動リンクが張られます。

Captcha
画像から読み取れる文字を入力: