用c语言指针函数实现strlen功能
时间: 2023-04-08 10:04:05 浏览: 161
可以使用以下代码实现:
```c
#include <stdio.h>
int strlen(char *str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str[] = "Hello, world!";
int len = strlen(str);
printf("The length of the string is %d\n", len);
return 0;
}
```
这个程序使用指针函数来实现了字符串长度的计算。指针函数的作用是返回一个指针,这里返回的是字符串的长度。在函数中,我们使用了一个 while 循环来遍历字符串,每次遍历到一个字符,就将长度加一。最后返回长度即可。
相关问题
c语言递归实现函数strlen功能
可以使用递归实现strlen函数,代码如下:
```c
#include <stdio.h>
int strlen_recursion(char* str) {
if (*str == '\0') {
return 0;
} else {
return 1 + strlen_recursion(str + 1);
}
}
int main() {
char str[] = "Hello World!";
int len = strlen_recursion(str);
printf("The length of string is %d\n", len);
return 0;
}
```
在递归函数中,判断当前字符是否为字符串结束符'\0',如果是,则返回0,表示字符串长度为0;否则,字符串长度为1 + 去除当前字符后的子字符串的长度(使用指针+1来指向下一个字符)。
用c语言实现strlen函数
在C语言中,strlen函数用于计算字符串的长度,即字符串中字符的个数(不包括字符串末尾的空字符'\0')。下面是一个用C语言实现strlen函数的示例代码:
```c
#include <stdio.h>
size_t my_strlen(const char* str) {
size_t len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str[] = "Hello, World!";
size_t length = my_strlen(str);
printf("Length of the string: %zu\n", length);
return 0;
}
```
在上面的代码中,我们定义了一个名为my_strlen的函数,它接受一个指向字符数组(字符串)的指针作为参数,并返回字符串的长度。函数内部使用了一个循环来遍历字符串中的每个字符,直到遇到空字符'\0'为止。每遍历一个字符,长度计数器len就加1。最后,函数返回计数器的值作为字符串的长度。
注意,C语言中的字符串是以空字符'\0'结尾的字符数组,所以在计算字符串长度时需要排除末尾的空字符。