定义一个指针,指向以下数组s,并且通过指针给数组s随心赋值并打印赋值的结果 struct stu { char name[16]; int age; float score; }s[3];
时间: 2024-04-10 08:27:14 浏览: 93
指针与数组的指向问题的理解.docx
好的,以下是通过指针给数组s赋值并打印的示例代码:
```c
#include <stdio.h>
struct stu
{
char name[16];
int age;
float score;
};
int main() {
struct stu s[3]; // 定义结构体数组
struct stu *ptr = s; // 声明指针并指向数组首地址
// 使用指针给数组元素赋值
for (int i = 0; i < 3; i++) {
printf("请输入第 %d 个学生的姓名:", i+1);
scanf("%s", ptr->name);
printf("请输入第 %d 个学生的年龄:", i+1);
scanf("%d", &(ptr->age));
printf("请输入第 %d 个学生的成绩:", i+1);
scanf("%f", &(ptr->score));
ptr++; // 指针指向下一个数组元素
}
// 使用指针打印数组元素的值
ptr = s; // 指针重新指向数组首地址
for (int i = 0; i < 3; i++) {
printf("第 %d 个学生的信息:\n", i+1);
printf("姓名:%s\n", ptr->name);
printf("年龄:%d\n", ptr->age);
printf("成绩:%f\n", ptr->score);
ptr++; // 指针指向下一个数组元素
}
return 0;
}
```
运行上述代码,你可以依次输入每个学生的姓名、年龄和成绩,然后打印出赋值结果。
阅读全文