输入一个字符串,编写函数length,计算出字符串长度用c形式打印
时间: 2024-02-19 13:57:22 浏览: 118
好的,可以使用以下代码实现:
```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++
#include <iostream>
using namespace std;
int strLength(char* str) {
int length = 0;
while (*str != '\0') {
length++;
str++;
}
return length;
}
int main() {
char str[] = "Hello, world!";
int length = strLength(str);
cout << "The length of the string is " << length << endl;
return 0;
}
```
在这个示例中,函数 `strLength()` 接受一个指向字符数组的指针作为参数,然后使用指针遍历字符串并计算出其长度,最后返回长度值。在主函数中,我们定义了一个字符数组并将其作为参数传递给 `strLength()` 函数,以计算出字符串的长度。
用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;否则,将字符串指针后移一位,继续调用函数本身,递归计算字符串的长度。每递归一次,就将长度加一。最后返回长度值。
以上就是计算字符串长度的递归和非递归方法的实现,希望能对您有所帮助。
阅读全文