用c语言输入一个字符串(可能包含空格,长度不超过20),输出该串的长度。
时间: 2023-12-16 08:04:11 浏览: 108
可以使用C语言中的字符串库函数`strlen`来获取一个字符串的长度,示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[21]; // 定义一个长度为21的字符数组
printf("请输入一个字符串:");
scanf("%s", str); // 通过scanf函数获取输入的字符串
int len = strlen(str); // 使用strlen函数获取字符串长度
printf("输入的字符串长度为:%d\n", len);
return 0;
}
```
需要注意的是,在定义字符数组时需要保证其长度大于等于输入的字符串长度加1,因为字符串需要以空字符`\0`结尾。另外,使用`scanf`函数时应该避免输入过长的字符串导致缓冲区溢出,可以使用`fgets`函数代替。
相关问题
用c输入一个字符串(可能包含空格,长度不超过20),输出该串的长度。
可以使用C语言中的标准库函数`strlen()`来获取字符串长度,示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[21];
printf("请输入一个字符串:");
scanf("%[^\n]", str); // 读取包含空格的字符串,限制长度不超过20
int len = strlen(str);
printf("该字符串的长度为:%d\n", len);
return 0;
}
```
解释一下代码:
1. 首先定义一个字符串数组`str`,长度为21,这样可以存储20个字符和一个字符串结束符`\0`。
2. 使用`scanf()`函数读取包含空格的字符串,格式化字符串`%[^\n]`表示读取除了换行符`\n`以外的所有字符,限制长度不超过20。
3. 使用`strlen()`函数获取字符串长度,并存储在变量`len`中。
4. 使用`printf()`函数输出结果。
运行程序,输入一个字符串,比如`hello world`,输出结果为`该字符串的长度为:11`。
用C语言求一个带空格的字符串的长度,长度包括空格,字符串末尾带空格
可以使用C语言的标准库函数`strlen()`来求字符串长度,但是`strlen()`函数会在遇到空格时停止计数,因此不能直接使用。
一种方法是使用字符数组和循环来遍历字符串,直到遇到字符串末尾的空字符`\0`,然后统计字符的个数即可。例如:
```c
#include <stdio.h>
int main() {
char str[100] = "hello world "; // 带空格的字符串
int len = 0; // 字符串长度
int i = 0; // 循环计数器
// 遍历字符串,直到遇到字符串末尾的空字符'\0'
while (str[i] != '\0') {
len++; // 统计字符的个数
i++; // 计数器加1
}
printf("字符串 %s 的长度为 %d\n", str, len);
return 0;
}
```
输出结果为:
```
字符串 hello world 的长度为 12
```
注意,上述方法计算的字符串长度包括空格和字符串末尾的空字符`\0`。