通过scanf对二维字符串数组赋值
时间: 2025-01-12 11:54:44 浏览: 49
使用 `scanf` 对二维字符串数组赋值是一个常见的操作,特别是在C语言编程中。假设我们有一个二维字符数组,我们可以通过嵌套的 `scanf` 来逐个元素赋值。以下是一个示例代码,展示了如何实现这一点:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
int main() {
char array[ROWS][COLS];
printf("请输入 %d 个字符串,每个字符串最多 %d 个字符:\n", ROWS, COLS - 1);
for (int i = 0; i < ROWS; i++) {
printf("请输入第 %d 个字符串:", i + 1);
scanf("%s", array[i]);
}
printf("\n您输入的字符串是:\n");
for (int i = 0; i < ROWS; i++) {
printf("第 %d 个字符串:%s\n", i + 1, array[i]);
}
return 0;
}
```
在这个示例中,我们定义了一个二维字符数组 `array`,其大小为 `ROWS` 行和 `COLS` 列。然后,我们使用嵌套的 `for` 循环和 `scanf` 函数来逐行读取用户输入的字符串,并将其存储在数组中。最后,我们再次使用 `for` 循环来打印出用户输入的字符串。
需要注意的是,`scanf` 在读取字符串时不会检查数组的边界,因此用户输入的字符串长度不能超过数组的列数减一(因为字符串需要一个字符来存储空字符 `\0`)。
阅读全文
相关推荐



















