结构体数组怎么scanf
时间: 2025-01-16 09:08:46 浏览: 49
### 如何使用 `scanf` 函数为结构体数组输入数据
在 C 语言中,可以利用 `scanf` 函数向结构体数组中的各个成员赋值。下面展示了一个具体的例子,该实例定义了一个名为 `student` 的结构体,并创建了此类型的数组。通过循环读取用户输入的数据到每一个结构体元素里。
```c
#include <stdio.h>
// 定义学生结构体
struct student {
char name[20];
int age;
char gender[10];
};
int main() {
// 声明并初始化一个含有三个学生的结构体数组
struct student students[3];
// 输入提示信息
printf("请输入三位同学的信息(姓名 年龄 性别),每项之间用空格分隔:\n");
// 循环遍历数组,逐个填充每个结构体成员的值
for(int i = 0; i < 3; ++i){
printf("第%d位同学:", i + 1);
// 注意这里对于字符数组应该提供足够的空间以防止溢出
scanf("%19s %d %9s", students[i].name, &students[i].age, students[i].gender);
}
// 输出所有已录入的学生信息验证结果正确性
printf("\n您刚刚输入的信息如下所示:\n");
for(int i = 0; i < 3; ++i){
printf("姓名:%s\t年龄:%d\t性别:%s\n",
students[i].name,
students[i].age,
students[i].gender);
}
return 0;
}
```
上述程序首先声明了一个包含三个元素的 `student` 类型的结构体数组 `students[]`[^1]。接着,在主函数内设置了一层循环用于依次接收用户的键盘输入并将这些值存储至对应的结构体内存位置上。最后再次遍历整个数组打印出来自用户的原始输入以便确认操作无误[^4]。
阅读全文
相关推荐



















