c语言多个字符串怎么输入到二维数组中
时间: 2023-12-09 08:06:05 浏览: 74
您可以使用循环,逐个输入多个字符串并将它们存储到二维数组中。以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STR_LEN 100
#define MAX_NUM_STR 10
int main() {
char str[MAX_NUM_STR][MAX_STR_LEN];
int i;
for (i = 0; i < MAX_NUM_STR; i++) {
printf("Enter string %d: ", i+1);
fgets(str[i], MAX_STR_LEN, stdin);
str[i][strlen(str[i])-1] = '\0'; // Remove newline character
}
printf("\n");
for (i = 0; i < MAX_NUM_STR; i++) {
printf("String %d: %s\n", i+1, str[i]);
}
return 0;
}
```
该程序定义了一个大小为10x100的字符数组,存储10个字符串,每个字符串最多可以包含99个字符(不包括空字符)。使用`fgets()`函数逐个输入每个字符串,并使用`strlen()`函数计算字符串的长度,然后使用`\0`字符(空字符)替换掉`\n`(换行符)字符。最后,使用循环按顺序打印出每个字符串。
相关问题
c语言多个字符串输入到二维数组
中,该怎么实现?
您可以使用循环和 fgets() 函数将多个字符串输入到二维数组中。假设数组名为 str_arr ,数组大小为 M 行 N 列,可以使用以下代码实现:
```
for (int i = 0; i < M; i++) {
fgets(str_arr[i], N, stdin);
}
```
这里使用 fgets() 函数从标准输入流中读取一行字符串并将其存储到 str_arr[i] 中。重复此过程 M 次,即可将 M 个字符串输入到二维数组中。需要注意的是,“\n” 也会被读入字符串中,因此最后一个字符可能是换行符,如果需要可以手动将其替换为空字符。
使用C语言在二维数组里面输入多个字符串
当然可以,在C语言中,可以使用字符数组来存储字符串,可以定义一个二维字符数组来存储多个字符串。下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#define ROWS 3
#define COLS 5
int main() {
char strArr[ROWS][COLS];
// 用循环输入多个字符串到二维数组中
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("请输入第%d行第%d列的字符串:", i + 1, j + 1);
scanf("%s", strArr[i][j]);
}
}
// 输出二维数组中的所有字符串
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%s ", strArr[i][j]);
}
printf("\n");
}
return 0;
}
```
这个示例代码定义了一个 3 行 5 列的字符数组 `strArr`,然后用一个双重循环输入多个字符串到数组中,最后输出数组中的所有字符串。
需要注意的是,在输入字符串时,使用 `%s` 格式化字符串,而不是 `%c`。因为 `%c` 只能输入单个字符,而 `%s` 才能输入一个完整的字符串。
希望这个示例代码对你有所帮助!