写一函数,求字符串的长度,并编写主函数。
时间: 2023-06-05 07:47:42 浏览: 144
题目:写一个函数,求字符串的长度,并编写主函数。
答案:编写子函数可以使用以下代码:
```
def str_length(s):
length = 0
for i in s:
length += 1
return length
```
主函数可以使用以下代码:
```
if __name__ == '__main__':
string = input("请输入一个字符串:")
print("字符串的长度为:", str_length(string))
```
解释:代码实现了一个子函数 `str_length()`,该函数输入一个字符串,通过循环计算字符串中字符的个数,最终返回字符串的长度。主函数通过 `input()` 函数接收用户输入的字符串,并调用 `str_length()` 函数计算出字符串的长度,并输出结果。
相关问题
利用指针编写求字符串的长度函数strlen。并编写主函数测试。
### 回答1:
下面是利用指针编写求字符串长度函数strlen的代码:
```c
#include <stdio.h>
int strlen(char *str) {
int len = ;
while (*str != '\') {
len++;
str++;
}
return len;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
printf("字符串的长度为:%d\n", strlen(str));
return ;
}
```
在主函数中,我们先定义了一个字符数组str,用于存储用户输入的字符串。然后调用scanf函数读入字符串。接着调用strlen函数计算字符串的长度,并将结果输出。
在strlen函数中,我们定义了一个整型变量len,用于记录字符串的长度。然后使用while循环遍历字符串,每遍历一个字符,就将len加1。最后返回len即可。
注意,在遍历字符串时,我们使用了指针。指针str指向字符串的第一个字符,每遍历一个字符,就将指针向后移动一位,指向下一个字符。当指针指向字符串的结尾时,即指向'\'时,循环结束。
### 回答2:
字符数组是字符串的常见表示形式,在C语言中,可以通过数组名字来访问整个字符串,但如果要计算字符串的长度,需要遍历整个字符数组,因此需要使用指针来遍历数组,计算出字符串的长度。
先来看一下计算字符串长度的算法,可以用循环遍历字符串的字符,直到遇到字符串尾部的'\0'字符为止,记录遍历过程中字符的个数,就是字符串的长度:
```
int strlen(char *str)
{
int len = 0;
char *p = str; //用指针来遍历字符串
while (*p != '\0')
{
len++;
p++;
}
return len;
}
```
这个函数接收一个字符数组的指针,并用指针遍历数组中的所有元素,直到遇到字符串尾部的'\0'字符。在遍历的过程中,用len变量记录字符的个数。最后返回len值,就是字符串的长度。
我们可以编写一个简单的主函数来测试一下strlen函数的实现:
```
#include <stdio.h>
int strlen(char *str);
int main()
{
char str[100];
printf("Enter a string: ");
scanf("%s", str);
int len = strlen(str);
printf("Length of the string is %d", len);
return 0;
}
```
在主函数中,首先让用户输入一个字符串,然后调用strlen函数来计算字符串的长度,最后输出字符串的长度。运行程序后,控制台会提示用户输入字符串,输入完成后,程序会输出字符串的长度。
### 回答3:
字符串是在计算机中广泛应用的一种数据类型。在C语言中,字符串是以字符数组的形式表示的。为了编写一个函数来计算字符串的长度,我们需要利用指针对字符串进行操作。
函数strlen的原理是遍历整个字符串,直到遇到字符串的结束符'\0'。字符串的长度就是到'\0'之前的字符个数。而指针的作用是指向字符串的首位,并配合循环语句来依次对每个位置的字符进行判断。下面是一个求字符串长度的函数strlen的代码:
```c
int strlen(char *str){
int len = 0;
while(*str){
len++;
str++;
}
return len;
}
```
上面的函数中,*str表示指向字符数组的指针所指向的值。当遍历到字符串的末尾时,*str为'\0',循环语句就会停止。此时len的值即为字符串的长度。
接下来,我们可以编写一个主函数来测试函数是否正确。下面是一个示例主函数:
```c
#include<stdio.h>
int strlen(char *str);
int main(){
char str[] = "Hello, world!";
printf("字符串的长度是:%d", strlen(str));
return 0;
}
```
在主函数中,我们首先声明了一个字符数组str,并将其初始化为"Hello, world!"。然后,我们调用函数strlen来计算字符串的长度,并将其输出到屏幕上。在这个例子中,字符串的长度是13。
总之,相信通过以上的代码解释和示例,读者们已经对如何利用指针编写求字符串长度函数strlen有了更好的理解。
使用指针作为参数,编写函数求字符串的长度。在主函数输入字符串并输出其长度
可以使用以下代码实现:
```c++
#include <iostream>
using namespace std;
int strlen(char* str) {
int len = ;
while (*str != '\') {
len++;
str++;
}
return len;
}
int main() {
char str[100];
cout << "请输入字符串:";
cin >> str;
int len = strlen(str);
cout << "字符串长度为:" << len << endl;
return ;
}
```
在这个程序中,我们定义了一个 `strlen` 函数,它的参数是一个指向字符数组的指针。在函数内部,我们使用一个循环来遍历字符串,每遍历一个字符,就将长度加一。最后返回长度值。
在主函数中,我们先定义一个字符数组 `str`,然后使用 `cin` 输入字符串。接着调用 `strlen` 函数,将返回的长度值保存在变量 `len` 中,并输出结果。
注意,这里使用了 `cin` 来输入字符串,但是它只能读取到空格之前的内容。如果要读取整个字符串,可以使用 `getline` 函数。