*c语言学习笔记(十三)*
今天继续学习函数递归部分的内容
一、练习
编写程序,不允许创建临时变量,打印字符串长度。(用递归解决)
首先在不考虑递归方法时,我们知道要想求字符串长度,可以有一下两种方式,第一种就是利用sizeof
char arr[] = "helloworld";
//int a = self - strlen(arr);
int a = sizeof(arr) / sizeof(arr[0]) - 1;
printf("数组长度为:%d", a);
由于字符串都是以 结尾的,所以要在计算值后面再减一;
第二种是使用库函数strlen,可以直接获得字符串的长度
int a =strlen(arr);
printf("数组长度为:%d", a);
今天根据题目要求,我们需要使用递归的方法创建一个自定义函数,来解决问题。下面为代码:
int self_strlen(char*str)
{
if (*str != '