输入一个字符串,编写函数length,计算出字符串长度用c形式打印
时间: 2024-02-19 19:57:22 浏览: 26
好的,可以使用以下代码实现:
```c
#include <stdio.h>
int length(char *str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = length(str);
printf("字符串的长度为:%d\n", len);
return 0;
}
```
这个程序会先让用户输入一个字符串,然后调用`length`函数计算字符串的长度,并使用`printf`函数输出结果。在`length`函数中,我们使用一个循环来遍历字符串中的每个字符,每遍历一个字符就将计数器加1,直到遍历到字符串的结尾(即空字符`\0`)。最后将计数器的值作为函数的返回值返回。
相关问题
用C语言编写一个函数计算字符串的长度,用递归和非递归两种方法
好的,我来为您解答。
首先是非递归方法,可以使用C语言中的库函数strlen(),它的定义如下:
```c
size_t strlen(const char *str);
```
其中str是要计算长度的字符串,返回值是字符串的长度。
如果您需要自己编写一个函数来计算字符串的长度,可以使用循环实现,例如:
```c
int strLength(char *str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
```
这个函数以一个字符指针作为参数,通过循环遍历字符串中的每个字符,直到遇到字符串的末尾'\0'为止。每遍历一个字符,就将长度加一。最后返回长度值。
接下来是递归方法,可以使用函数自身不断调用来实现。例如:
```c
int strLength(char *str) {
if (*str == '\0') {
return 0;
} else {
return 1 + strLength(str + 1);
}
}
```
这个函数在处理字符串时,先判断当前字符是否为'\0',如果是,就返回0表示字符串的长度为0;否则,将字符串指针后移一位,继续调用函数本身,递归计算字符串的长度。每递归一次,就将长度加一。最后返回长度值。
以上就是计算字符串长度的递归和非递归方法的实现,希望能对您有所帮助。
用c语言写:编写一个函数,求一个字符串的长度
好的,以下是用 C 语言编写一个函数,求一个字符串的长度的代码:
```c
#include <stdio.h>
int string_length(char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
int main() {
char str[] = "Hello, World!";
int len = string_length(str);
printf("字符串 \"%s\" 的长度为 %d\n", str, len);
return 0;
}
```
这段代码定义了一个名为 `string_length` 的函数,该函数接受一个字符串作为参数,返回该字符串的长度。在函数内部,使用了一个 `while` 循环,遍历字符串中的每一个字符,直到遇到字符串的结尾符 `'\0'` 为止。在每个字符的位置上,将长度计数器 `len` 加一。最后返回计数器的值。
在 `main` 函数中,我们定义了一个字符串 `str` 并将其传递给 `string_length` 函数。然后将返回值存储在变量 `len` 中,并将其打印出来,以展示字符串的长度。