要求:不使用任何变量编写strlen函数
int Strlen(const char* str)
{
assert(NULL != str);
if ('\0' == *str)
{
return 0;
}
return 1 + Strlen(++str);
}
看到上面的写法,是不是想让它更加简洁点呢?
再加一个要求:不允许使用库函数和宏
下面就是:
int Strlen(const char* str)
{
return (str != NULL) && (*str != '\0') ? 1 + Strlen(str + 1) : 0;
}