strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符‘\0‘为止,然后返回计数器值(长度不包含“\0”)。
根据它的特性我们编写函数:
<span style="font-size:18px;">#include<stdio.h> #include<assert.h> int my_strlen(char const *str1) { int count=0; assert(str1); while(*str1++!='\0') { count++; } return count; } int main() { char*p = "bit-tech"; int ret= my_strlen(p); printf("%d\n",ret); return 0; }</span>
运行结果如图所示:
原文地址:http://blog.csdn.net/liuxiaoqian_/article/details/45891317