在c语言中怎么读取一个字符串组?
时间: 2024-09-23 17:07:29 浏览: 34
在C语言中,读取字符串数组通常涉及到动态内存分配和循环遍历。假设你想读取一个预定义长度的字符串数组,你可以这样做:
```c
#include <stdio.h>
#include <string.h>
#define NUM_STRINGS 5 // 字符串数组的元素数量
// 声明字符串数组
char strings[NUM_STRINGS][50]; // 每个字符串最多包含49个字符(包括空字符'\0')
int main() {
// 使用循环从用户那里输入字符串
for (int i = 0; i < NUM_STRINGS; i++) {
printf("请输入第 %d 个字符串: ", i + 1);
fgets(strings[i], sizeof(strings[i]), stdin); // fgets会读入直到遇到换行符或文件结束
strings[i][strcspn(strings[i], "\n")] = '\0'; // 移除fgets添加的换行符
}
// 打印读取到的字符串数组
for (int i = 0; i < NUM_STRINGS; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
```
在这个例子中,`fgets()`函数用于读取用户的输入,然后通过`strcspn()`函数移除多余的换行符,因为`fgets()`会在读取的字符串末尾添加一个换行符。
阅读全文