C语言中二维数组怎么输入字符串
时间: 2023-07-16 07:14:51 浏览: 326
在C语言中,可以使用二维字符数组来存储多个字符串。输入字符串可以使用标准输入函数 `scanf()` 或者 `fgets()` 来完成。
下面是使用 `fgets()` 函数输入字符串到二维字符数组的代码示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main()
{
char strArray[5][MAX_LEN];
int i;
for (i = 0; i < 5; i++) {
printf("请输入第 %d 个字符串:", i+1);
fgets(strArray[i], MAX_LEN, stdin);
strArray[i][strcspn(strArray[i], "\n")] = '\0'; // 去除换行符
}
printf("输入的字符串为:\n");
for (i = 0; i < 5; i++) {
printf("%s\n", strArray[i]);
}
return 0;
}
```
在上述示例中,定义了一个 `5x100` 的二维字符数组 `strArray`,用于存储输入的字符串。然后使用 `fgets()` 函数从标准输入流中读取字符串,并将其存储到相应的数组元素中。注意,由于 `fgets()` 函数会将输入的换行符也读取进来,因此需要使用 `strcspn()` 函数找到字符串中的换行符,并将其替换为结束符 `\0`。最后,通过循环打印出输入的字符串。
如果要使用 `scanf()` 函数输入字符串,可以使用下面的代码示例:
```c
#include <stdio.h>
#define MAX_LEN 100
int main()
{
char strArray[5][MAX_LEN];
int i;
for (i = 0; i < 5; i++) {
printf("请输入第 %d 个字符串:", i+1);
scanf("%s", strArray[i]);
}
printf("输入的字符串为:\n");
for (i = 0; i < 5; i++) {
printf("%s\n", strArray[i]);
}
return 0;
}
```
在上述示例中,使用 `scanf()` 函数读取字符串时,可以直接使用 `%s` 格式符,并将输入的字符串存储到相应的数组元素中。由于 `scanf()` 函数会在遇到空格、制表符或换行符时停止读取,因此输入的字符串不能包含空格。
阅读全文