strlen( )関数をループなしで
「ソフトウェア開発の名著を読む」の61ページより
ループじゃなかったら再帰じゃね?ってことで
ちょっと投げやり。
#include <stdio.h> #include <string.h> int strlen2(char *); int main() { char c[32]; memset(c, 0, sizeof(c)); strcpy(c, "abcdefg"); printf("%s\n", c); printf("length(strlen2) = %d\n",strlen2(c)); } int strlen2(char *str) { char *p; int count = 0; p = str; if(*p != '\0'){ count = strlen2(p + 1) + 1; } return count; }