c语言递归求字符串长度
时间: 2023-11-07 22:59:04 浏览: 188
以下是使用递归求字符串长度的C语言代码:
```c
#include <stdio.h>
int string_length(char *str) {
if (*str == '\0')
return 0;
else
return 1 + string_length(str + 1);
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
printf("字符串长度为:%d\n", string_length(str));
return 0;
}
```
在上述代码中,`string_length()` 是递归函数,它接收一个指向字符串的指针 `str`,并返回字符串的长度。在函数内部,我们首先检查当前字符是否为字符串的结尾符 `\0`。如果是,则返回 0,表示字符串长度为 0。否则,我们将字符串指针向后移动一位,并递归调用 `string_length()` 函数来计算剩余字符串的长度。最后,将每个递归调用的结果相加,得到完整字符串的长度。在 `main()` 函数中,我们从用户那里获取输入字符串,并将其传递给 `string_length()` 函数来计算其长度。
相关问题
c语言递归求字符串长度for
以下是使用递归方式求字符串长度的 C 代码:
```c
#include <stdio.h>
int string_length(char *str) {
if (*str == '\0') {
return 0;
} else {
return 1 + string_length(str + 1);
}
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
printf("Length of string: %d", string_length(str));
return 0;
}
```
这个程序定义了一个名为 `string_length` 的函数,该函数以指针形式接收一个字符串。如果该字符串为空,则返回 0。否则,使用递归方式计算字符串长度。
c语言递归法求字符串长度
下面是使用递归法求字符串长度的 C 语言代码:
```c
#include <stdio.h>
int str_length(char *str) {
if (*str == '\0') { // 当遇到字符串末尾时,返回 0
return 0;
} else {
return 1 + str_length(str + 1); // 递归调用,返回下一个字符的长度加一
}
}
int main() {
char str[] = "Hello, world!";
int len = str_length(str);
printf("The length of the string \"%s\" is %d.\n", str, len);
return 0;
}
```
代码解释:
在 `str_length` 函数中,首先判断当前字符是否为字符串末尾的 `\0`,如果是,返回 0,表示字符串长度为 0。如果不是末尾字符,则递归调用 `str_length` 函数,并返回下一个字符的长度加一。
在 `main` 函数中,定义一个字符串 `str`,并调用 `str_length` 函数求出其长度,最后将结果打印输出。
阅读全文
相关推荐













