1, C++不使用变量求字符串长度strlen函数的实现方法(参考 http://www.jb51.net/article/67081.htm)
1、strlen的源码实现:
1
2
3
4
5
6
7
|
size_t
strlen
(
const
char
*str)
//strlen不做内存非法判断,如果是NULL,会core。
{
const
char
*eos=str;
while
(*eos++);
return
(eos-str-1);
}
|
2、常见面试题会要求不使用额外变量,实现strlen函数:
实现一:
int strlen(const char *str)
{
if(*str == '\0')
return 0;
else
return strlen(str + 1) + 1;
}
实现二:
int strlen(const char *str)
{
return *str?(strlen(str + 1) + 1) : 0;
}