编写函数,不允许创建临时变量,求字符串的长度
编程思路:
1、键入要计算的字符串;
2、调用Strlen(char* str)函数计算字符串的长度;
2.1、判断该字符串是否为空字符串,若为空字符串,则输出0;
2.2、否则进入循环字符串长度+1并继续调用Strlen(char* str)函数比较字符串是否为0;
2.3、一直递归调用直到最后一个字符;
3、打印结果。
注意:
1、数组作为函数参数,默认转换为指针,指针指向数组首元素地址;
2、数组作为函数参数+1表示数组下一个元素地址。
具体代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int Strlen(char* str){
if (str[0] == '\0') {
return 0;
}
return 1 + Strlen(str + 1);
}
int main() {
char str[] = "";
printf("请输入一个字符串:\n");
scanf("%s", &str);
printf("%d", Strlen(str));
system("pause");
return 0;
}