写一个函数,求一个字符串的长度,在main函数中输入字符串
时间: 2023-04-24 19:06:39 浏览: 89
以下是一个求字符串长度的函数:
```c++
#include <iostream>
#include <string>
using namespace std;
int getLength(string str) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
int main() {
string str;
cout << "请输入一个字符串:";
cin >> str;
int len = getLength(str);
cout << "字符串长度为:" << len << endl;
return 0;
}
```
该函数使用了一个 while 循环来遍历字符串,每次遍历都将长度加 1,直到遇到字符串的结束符 `\0`。在 main 函数中,先输入一个字符串,然后调用 getLength 函数来求出字符串的长度,并输出结果。
相关问题
写一函数,求一个字符串的长度,在main函数中输入字符串
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串。
答案:
在main函数中先输入一个字符串,然后调用计算字符串长度的函数,输出结果即可。
示例代码:
```
#include <stdio.h>
#include <string.h>
int str_len(char *s)
{
int len = 0;
while(*s++) {
len++;
}
return len;
}
int main()
{
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = str_len(str);
printf("字符串%s的长度为:%d\n", str, len);
return 0;
}
```
输出示例:
```
请输入一个字符串:hello, world!
字符串hello,的长度为:6
```
求一个字符串的长度。在main函数中输入字符串
### 回答1:
可以使用strlen函数来求一个字符串的长度。在main函数中输入字符串后,可以使用strlen函数来计算字符串的长度。
例如:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = strlen(str);
printf("字符串的长度为:%d\n", len);
return ;
}
```
运行程序后,输入一个字符串,程序会输出该字符串的长度。
### 回答2:
求一个字符串的长度需要遍历字符串中的每个字符,直到遇到字符串的结尾标志'\0',并记录字符的个数。因此,可以编写一个循环,遍历输入的字符串,每次遇到一个字符,计数器加1,直到遇到结尾标志结束循环。
具体代码如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100]; // 声明一个长度为100的字符数组
cout << "请输入字符串:" << endl;
cin >> str; // 输入字符串
int len = 0; // 初始化长度为0
for (int i = 0; i < strlen(str); i++) { // 遍历字符串
len++; // 每遍历一个字符,计数器加1
}
cout << "字符串长度为:" << len << endl; // 输出字符串长度
return 0;
}
```
在上述代码中,通过`strlen()`函数获取输入的字符串长度,然后通过循环遍历该字符串,并用计数器统计字符个数,最终输出字符串长度。
需要注意的是,输入的字符串不能包含空格,否则只会输出第一个空格前的字符个数。为了处理含空格的字符串,可以使用`getline()`函数输入,如下所示:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100]; // 声明一个长度为100的字符数组
cout << "请输入字符串:" << endl;
cin.getline(str, 100); // 输入字符串(含空格)
int len = 0; // 初始化长度为0
for (int i = 0; i < strlen(str); i++) { // 遍历字符串
len++; // 每遍历一个字符,计数器加1
}
cout << "字符串长度为:" << len << endl; // 输出字符串长度
return 0;
}
```
在上述代码中,使用`getline()`函数输入字符串,它可以读取包含空格的字符串,同时需要指定读取的最大字符数,避免数组越界。
### 回答3:
字符串的长度可以通过循环逐个计算每个字符来实现。我们可以先定义一个计数器,然后遍历整个字符串,每遇到一个字符,计数器就加1。最后计数器的值就是字符串的长度。下面是具体的代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = 0;
while (str[len] != '\0') { // 使用'\0'判断字符串是否处理完毕
len++;
}
printf("该字符串的长度是:%d", len);
return 0;
}
```
在上面的代码中,我们先定义一个长度为100的字符数组 `str`,然后通过 `scanf` 函数从用户输入中读取一个字符串。接下来,我们定义计数器 `len` 值为0,然后用 `while` 循环遍历整个字符串,通过判断字符是否为字符串的终止符 `'\0'`,来决定是否继续计数。最后,我们输出字符串的长度。
需要注意的是,在这个算法中,我们假设了字符串中不会出现空格或者其他空白字符,如果字符串中包含了这些字符,我们就需要使用逐个判断字符的方式来计算字符串的长度。