用C语言编写一个类似库函数strlen()的函数,求字符串的长度,在main()函数中输入一个字符串,调用该函数后输出结果。要求函数的形参采用指针变量。
时间: 2024-03-23 12:36:13 浏览: 20
好的,我们可以手动编写一个 `my_strlen()` 函数来求字符串的长度,具体实现如下:
```c
#include <stdio.h>
int my_strlen(char *str) {
int len = 0;
while (*str != '\0') { // 依次遍历字符串中每一个字符
len++; // 累加字符串长度
str++; // 指针移动到下一个字符
}
return len;
}
int main() {
char str[] = "Hello, world!";
int len = my_strlen(str);
printf("The length of the string is %d.\n", len);
return 0;
}
```
在 `my_strlen()` 函数中,我们使用了指针变量 `str` 来遍历字符串中的每一个字符,并通过累加计算出字符串的长度。最终得到的 `len` 即为字符串的长度。在 `main()` 函数中,我们输入一个字符串,并调用 `my_strlen()` 函数来求出其长度,并输出结果。
相关问题
用c语言:编写一个类似库函数strlen()的函数,求字符串的长度
可以使用指针来实现一个类似库函数`strlen()`的函数,下面是一个示例代码:
```c
#include <stdio.h>
int my_strlen(char *str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str[] = "hello world!";
int len = my_strlen(str);
printf("The length of the string is %d\n", len);
return 0;
}
```
在这个示例代码中,`my_strlen()`函数接收一个指向字符串的指针作为参数,然后在循环中通过判断当前指针所指的字符是否为字符串结束符`\0`来计算字符串的长度。注意,这里使用了指针的自增运算符`++`来移动指针指向下一个字符。
在`main()`函数中,我们定义了一个字符串数组`str`,并将其传递给`my_strlen()`函数来计算字符串的长度。最后,我们使用`printf()`函数将字符串的长度输出到控制台。
使用C语言编写一个类似库函数strlen()的函数,求字符串的长度,在main()函数中输入一个字符串,调用该函数后输出结果。要求函数的形参采用指针变量。
好的,这是一个简单的C语言程序,实现了类似于库函数strlen()的字符串长度计算功能:
```c
#include <stdio.h>
int my_strlen(char *str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
int len = my_strlen(str);
printf("字符串长度为:%d\n", len);
return 0;
}
```
在该程序中,我们定义了一个名为my_strlen()的函数,它的形参是一个指向字符数组的指针变量。在该函数中,我们使用了一个while循环来遍历整个字符串,每遍历一个字符就将长度加1,直到遍历完整个字符串。最后返回字符串的长度。
在main()函数中,我们首先定义了一个字符数组str,然后使用scanf()函数从标准输入中读取这个字符串。接着调用my_strlen()函数计算字符串的长度,最后输出结果。
注意,在输入字符串时,我们使用了%s格式控制符,这个控制符表示读取一个字符串,遇到空格或者换行符就停止读取。