第五阶段—函数—几个特殊函数—字符串操作函数:编写函数mystrlen(用递归函数实现)

 1 #include<stdio.h>
 2 #include<assert.h>
 3 int my_strlen(const char *strDest)
 4 {
 5     
 6     assert(strDest != NULL);//断言:判断表达式一定为真,若为假,则终止程序
 7     
 8     if(*strDest == '\0')
 9     {
10         return 0;
11     }else{
12         return(1 + my_strlen(++strDest));//对一个变量多次进行相同操作时可用递归
13     }    
14     
15 }
16 

// int my_strlen(const char *strDest)
// {
// assert(strDest != NULL);//断言:判断表达式一定为真,若为假,则终止程序
// return('\0' != *strDest)?(1 + my_strlen(++strDest)):0;//对一个变量多次进行相同操作时可用递归

// }

17 int main(int argc, const char *argv[])
18 {
19     char buf[1024] = {"abcdefg"};//定义需要传给形参,给形参赋值的变量
20     unsigned int len = 0;
21     len = my_strlen(buf);
22     
23     printf("strlen(buf) = %d\n", len);
24     
25     return 0;
26 }

 

posted @ 2021-10-05 20:07  major825  阅读(156)  评论(0)    收藏  举报