黑马程序员技术交流社区

标题: 使用结构体指针遍历所有学生基本信息+总结 [打印本页]

作者: TTsu    时间: 2015-9-6 23:11
标题: 使用结构体指针遍历所有学生基本信息+总结
本帖最后由 TTsu 于 2015-9-6 23:35 编辑

/*
遍历班级所有同学的序号.姓名.身高信息
*/
#include <stdio.h>
int main(){
    struct Student {
        int no;
        char name[20];
        float height;
        
    };
    int num;
    printf("请问要输入的人数是:?\n");
    scanf("%d",&num);
    struct Student stu[num];//此处的结论是结构体数组的[]里数值也想数组一样可以用户自定义
    struct Student *p;
    p = stu;
    for (int i = 0; i<num; i++) {
        printf("请输入学生序号\n");
        scanf("%d",&stu.no);
        printf("请输入学生姓名\n");
        scanf("%s",&stu.name);
        printf("请输入学生身高\n");
        scanf("%f",&stu.height);
    }
    printf("姓名----年龄----身高\n");
    for (int j = 0; j<num;j++, p++) {
        
        printf("%d\t%s\t%.2f\t\n",p->no,p->name,p->height);
    }
    return 0;
}
总结:
struct Student stu[num];//此处的结论是结构体数组的[]里数值也想数组一样可以用户自定义
p->no=stu[0].no; p++以后 p->no应该是向stu[1].no取值了,所以这样就以为这同样可以通过for循环遍历结构体数组的各项数值.
打印出的 for (int j = 0; j<num;j++, p++)这段for循环写的非常不满意,但是达到目的,不知道怎么修改

作者: itheima-zx    时间: 2015-9-7 22:06
赞赞赞~~
作者: huahaoL    时间: 2015-9-7 22:08
牛叉




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2