C语言如和用scanf_s给有名称的结构体数组赋值
时间: 2023-08-30 07:10:45 浏览: 98
结构体数组的赋值-C语言结构体知识汇总
假设有一个有名称的结构体类型为`Person`,包含两个成员变量`name`和`age`,现在需要定义一个包含3个`Person`类型元素的数组并使用`scanf_s`函数为其赋值,可以按照以下步骤进行:
1. 定义`Person`结构体类型:
```c
typedef struct {
char name[20];
int age;
} Person;
```
2. 定义包含3个`Person`类型元素的数组:
```c
Person people[3];
```
3. 使用`scanf_s`函数为每个元素的`name`和`age`成员变量赋值:
```c
for (int i = 0; i < 3; i++) {
printf("请输入第%d个人的姓名和年龄:\n", i + 1);
scanf_s("%s%d", people[i].name, sizeof(people[i].name), &people[i].age);
}
```
在上面的代码中,`scanf_s`函数用于读取用户输入的姓名和年龄,并将其存储到对应的`people`数组元素的`name`和`age`成员变量中。需要注意的是,使用`scanf_s`函数时需要指定读取字符串的最大长度,以避免缓冲区溢出。
阅读全文