怎么输入字符数组
时间: 2023-09-25 18:12:35 浏览: 76
字符数组的输入可以使用标准输入函数 `scanf` 或 `gets`,或者使用文件输入函数 `fscanf` 或 `fgets`。
下面是一个简单的例子,演示如何从键盘输入字符数组:
```c++
#include <stdio.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
printf("请输入一个字符串:");
scanf("%s", str); // 读取输入的字符串
printf("你输入的字符串是:%s\n", str); // 输出输入的字符串
return 0;
}
```
在运行程序时,控制台会提示用户输入一个字符串,用户可以根据提示输入一个字符串,然后程序会将该字符串输出到控制台上。
需要注意的是,`scanf` 函数在读取字符串时会忽略空格和换行符,因此输入的字符串不能包含空格和换行符。如果需要输入包含空格的字符串,可以使用 `fgets` 函数。
```c++
#include <stdio.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
printf("请输入一个字符串:");
fgets(str, MAX_LEN, stdin); // 读取输入的字符串
printf("你输入的字符串是:%s\n", str); // 输出输入的字符串
return 0;
}
```
使用 `fgets` 函数时,需要指定最大读取字符数和输入流(这里是 `stdin`,也就是标准输入流)。另外,`fgets` 函数会读取字符串中的换行符,因此需要在输出字符串时手动去除换行符。
需要注意的是,`fgets` 函数会将输入的换行符也读取到字符数组中。如果需要去除换行符,可以使用下面的代码:
```c++
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
printf("请输入一个字符串:");
fgets(str, MAX_LEN, stdin); // 读取输入的字符串
str[strcspn(str, "\n")] = '\0'; // 去除换行符
printf("你输入的字符串是:%s\n", str); // 输出输入的字符串
return 0;
}
```
其中,`strcspn` 函数可以找到字符串中第一个出现指定字符集的位置,使用它可以找到换行符的位置,并将其替换为空字符。
阅读全文