C语言循环输入多个结构体中字符串
时间: 2025-07-05 15:09:38 浏览: 15
### C语言中循环输入多个结构体中的字符串
在C语言中,可以通过循环来实现多次读取并保存到不同结构体实例的方法。下面展示一段示例代码用于说明如何操作:
```c
#include <stdio.h>
#include <string.h>
// 定义学生信息结构体
typedef struct {
char name[20]; // 存储姓名
int age; // 年龄
} Student;
int main() {
const int numStudents = 3;
Student students[numStudents];
for (int i = 0; i < numStudents; ++i) {
printf("请输入第%d位学生的姓名:", i + 1);
scanf("%s", students[i].name); // 输入字符串至结构体内存位置[^1]
printf("请输入第%d位学生的年龄:", i + 1);
scanf("%d", &students[i].age); // 输入整数
}
// 输出所有已录入的学生资料作为验证
for (int j = 0; j < numStudents; ++j){
printf("\n学生 %d:\n", j + 1);
printf("姓名:%s\n", students[j].name);
printf("年龄:%d岁\n", students[j].age);
}
return 0;
}
```
这段程序首先定义了一个`Student`类型的结构体用来表示单个学生的信息,其中包括两个字段:一个是长度不超过19个字符的名字(留出一位给终止符'\0'),另一个是代表年龄的整数值。
接着,在`main()`函数里声明了一个固定大小为`numStudents`的数组,该数组能够容纳指定数量的学生记录。利用for循环迭代遍历这个数组范围内的每一个元素,并依次提示用户输入对应索引处的学生名称与年龄。这里特别注意的是当向结构体成员赋值时要确保不会越界写入超出分配空间的数据。
最后再次通过循环打印出之前收集的所有学生信息以便确认数据已被正确存储。
阅读全文