如何用getchar输入字符串
时间: 2024-12-21 12:07:21 浏览: 10
真的可以是逆序输出任意字符串
4星 · 用户满意度95%
在C语言中,`getchar()`函数用于从标准输入(通常是键盘)读取一个字符。虽然`getchar()`一次只能读取一个字符,但我们可以使用循环来读取多个字符,从而实现输入字符串的功能。以下是一个示例代码,展示了如何使用`getchar()`输入字符串:
```c
#include <stdio.h>
#define MAX_LENGTH 100
int main() {
char str[MAX_LENGTH];
int i = 0;
int c;
printf("Enter a string: ");
// 读取字符直到遇到换行符或达到最大长度
while ((c = getchar()) != '\n' && c != EOF && i < MAX_LENGTH - 1) {
str[i++] = c;
}
// 添加字符串结束符
str[i] = '\0';
printf("You entered: %s\n", str);
return 0;
}
```
### 解释
1. **定义字符串和变量**:
```c
char str[MAX_LENGTH];
int i = 0;
int c;
```
- `str[MAX_LENGTH]`:用于存储输入的字符串。
- `i`:用于跟踪当前字符的位置。
- `c`:用于存储每次读取的字符。
2. **提示用户输入**:
```c
printf("Enter a string: ");
```
3. **读取字符并存储到字符串中**:
```c
while ((c = getchar()) != '\n' && c != EOF && i < MAX_LENGTH - 1) {
str[i++] = c;
}
```
- 使用`while`循环不断读取字符,直到遇到换行符(`\n`)或文件结束符(`EOF`),或者达到最大长度限制。
- 每次读取的字符存储到`str`数组中,并递增索引`i`。
4. **添加字符串结束符**:
```c
str[i] = '\0';
```
- 在字符串末尾添加空字符(`\0`),以标识字符串的结束。
5. **输出输入的字符串**:
```c
printf("You entered: %s\n", str);
```
阅读全文