自己定义一个函数,用字符数组作为函数参数的类型, 以实现和函数strlen相同的功能。
时间: 2023-05-31 10:18:16 浏览: 268
求字符串长度函数strlen-C++数组与指针
### 回答1:
可以定义一个名为my_strlen的函数,函数参数为一个字符数组,返回值为该字符数组的长度。函数实现如下:
int my_strlen(char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
该函数使用while循环遍历字符数组,直到遇到字符串结束符'\0'为止,统计字符数组的长度并返回。
### 回答2:
为了实现与函数strlen相同的功能,我们需要设计一个字符数组作为函数参数的函数,并返回该字符串的长度。因此,我们可以定义一个自定义函数,以此完成这项任务。
该函数的名称可以为my_strlen,并使用字符数组作为其参数类型。下面是该函数的实现:
```
int my_strlen(char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
```
该函数在参数中接收一个字符数组,并使用一个while循环来计算字符串的长度。当循环到达空字符('\0')时,循环结束并返回长度值。因此,my_strlen函数和strlen函数实现相同的功能。
我们可以使用以下代码来测试my_strlen函数:
```
#include <stdio.h>
int my_strlen(char str[]);
int main() {
char str[] = "Hello, world!";
printf("The length of string is: %d", my_strlen(str));
return 0;
}
int my_strlen(char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
```
该代码将输出字符串 “Hello, world!” 的长度(即13个字符)。
### 回答3:
要实现和函数strlen相同的功能,需要定义一个函数,这个函数的参数类型是字符数组,函数的返回值是整数。下面是一种可能的实现方式:
```
int my_strlen(char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
```
这个函数会遍历输入的字符数组,依次统计数组中的字符个数,直到遇到空字符'\0'为止。然后返回统计出来的字符个数即可。
这个函数的参数类型是字符数组 char str[],表示一个可以存储任意字符的数组。在函数内部,我们使用 strlen 函数的核心思想,通过循环遍历字符数组,依次维护一个计数器 len,记录字符数组中非空字符的个数。当遍历到数组中最后一个非空字符后,计数器 len 的值就是字符数组的长度。
这个函数的用法和 strlen 函数类似。比如,你可以这样使用:
```
char str[] = "hello world";
int len = my_strlen(str);
printf("字符串 '%s' 的长度是 %d\n", str, len);
```
这段代码会输出字符串 `hello world` 的长度是 11。
总之,自己定义一个可以和 strlen 相同的函数并不难,我们只需要理解 strlen 函数的基本原理,然后通过编写一个遍历字符数组的循环,来计算字符数组的长度即可实现。
阅读全文