实现一个函数int my_strlen(char *str) ,它接收一个字符指针(即字符串)作为参数,并返回字符串的长度
时间: 2024-12-06 14:26:22 浏览: 11
`my_strlen` 函数是一个常见的 C 语言实现,用于计算给定字符串(以 NULL 结尾的字符数组)的实际长度,不包括终止符 '\0'。以下是它的基本实现:
```c
#include <stdio.h> // 只是为了包含 printf 用于演示
// 定义函数 int my_strlen(char *str)
int my_strlen(char *str) {
if (str == NULL) { // 如果字符串指针为空,则认为长度为 0
return 0;
}
int length = 0; // 初始化长度计数器为 0
while (*str != '\0') { // 遍历直到找到 '\0'
length++;
str++; // 指针向前移动一位
}
return length; // 返回实际字符串长度
}
// 示例用法
int main() {
char test_string[] = "Hello, world!";
int string_length = my_strlen(test_string);
printf("String length: %d\n", string_length); // 输出: String length: 13
return 0;
}
```
相关问题
实现一个函数int my_strlen(char *str) ,它接收一个字符指针(即字符串)作为参数,并返回字符串的长度。
`my_strlen` 函数是一个用于计算给定字符串(以字符数组表示)长度的简单实现。它是通过遍历字符数组直到遇到空字符 '\0' 来计数非空字符的数量。空字符通常表示字符串结束。以下是该函数的一个基本示例:
```c
#include <stdio.h>
// 定义函数 int my_strlen(char *str)
int my_strlen(char *str) {
// 初始化长度为 0
int length = 0;
// 遍历字符数组,如果遇到 '\0',则停止计数
while (*str != '\0') {
length++;
str++; // 移动到下一个字符的位置
}
return length; // 返回字符串的实际长度
}
// 示例用法
int main() {
char test_string[] = "Hello, World!";
printf("The length of the string is: %d\n", my_strlen(test_string));
return 0;
}
```
用c语言指针实现一个函数int my_strlen(char *str) ,它接收一个字符指针(即字符串)作为参数,并返回字符串的长度。
在C语言中,可以使用指针遍历直到遇到空字符'\0'来计算字符串的长度。空字符是在字符串结束的地方自动添加的,所以当找到它时,就知道字符串的结尾了。以下是`my_strlen`函数的实现:
```c
#include <stdio.h>
// 函数声明
int my_strlen(char *str);
// 函数实现
int my_strlen(char *str) {
if (str == NULL) { // 验证指针是否为空
return 0;
}
int length = 0; // 初始化长度为0
while (*str != '\0') { // 当指针指向的字符不是空字符时,递增长度并继续遍历
length++;
str++; // 指针向后移动一位
}
return length; // 返回字符串长度
}
int main() {
char test_str[] = "Hello, World!";
int len = my_strlen(test_str);
printf("The string length is: %d\n", len);
return 0;
}
```
阅读全文