C语言怎么输入含有字符串的数组
时间: 2024-12-12 21:21:04 浏览: 11
在C语言中,可以使用`scanf`函数来从标准输入(通常是键盘)读取含有字符串的数组。假设你有一个字符串数组,例如`char stringArray[5][20]`,它的长度是5,每个元素最多能存储20个字符,你可以这样做:
```c
#include <stdio.h>
#define SIZE 5
int main() {
char stringArray[SIZE][20]; // 定义字符串数组
for (int i = 0; i < SIZE; i++) { // 遍历数组
printf("请输入第 %d 个字符串: ", i + 1);
scanf("%s", &stringArray[i]); // 使用%s读取字符串并存入数组
// 注意这里需要防止缓冲区溢出,因为scanf可能不会自动添加换行符,用户输入过长可能导致数组越界
while (getchar() != '\n'); // 读取并丢弃多余的字符直到遇到换行
}
// 打印数组中的字符串以确认输入
for (int i = 0; i < SIZE; i++) {
printf("第 %d 个字符串: %s\n", i + 1, stringArray[i]);
}
return 0;
}
```
在这个例子中,我们使用`%s`作为`scanf`的格式说明符,它会读取到空格为止,然后将读取的内容存储到指针所指向的位置。每次循环结束后记得使用`getchar()`清除可能存在的多余字符,以防影响后续输入。
阅读全文