如何用getchar给数组传数值
时间: 2024-12-18 18:20:32 浏览: 6
在C语言中,如果你想通过`getchar()`向数组传递数值,你需要明确地指定数组的地址,并将接收到的每个字符存入数组元素。因为`getchar()`只能获取单个字符,所以需要循环来读取并存储多个字符。假设我们有一个字符数组`char array[SIZE]`,可以这样做:
```c
#include <stdio.h>
#define SIZE 50 // 假设你要接收最多50个字符
int main() {
char array[SIZE];
int i = 0;
printf("请输入一些字符(不超过 %d 个):", SIZE - 1); // 避免溢出,减去1是因为数组下标从0开始
while (i < SIZE && (array[i] = getchar()) != '\n') { // 只要还没有读到换行符
++i; // 数组索引递增
}
// 检查是否已达到输入长度限制
if (i == SIZE) {
printf("输入超过最大长度,请重新输入。\n");
return 1;
}
printf("您输入的字符是:");
for (i = 0; i < i; ++i) {
printf("%c ", array[i]);
}
printf("\n");
return 0;
}
```
在这个例子中,循环会一直读取用户输入,直到遇到换行符或者到达数组的最大大小。注意,由于`getchar()`会等待用户输入,因此应该先提示用户输入,然后在主循环里进行。
阅读全文