C语言结构体相关问题


#include<stdio.h>
#include<string.h>
int circulating(struct StudentType *p,int n);
int main()
{
    struct StudentType
    {
        int num;
        char name[10];
        char sex[3];
        int age;
        float score;

    }student[5]={
        {1001,"张大仙","男",29,20},
        {1002,"大黑龙","龙",158,98},
        {1003,"小帅哥","男",65,66},
        {1004,"小美女","女",18,55}
    };
    StudentType *pstudent;
    pstudent=student;
    printf("%d\t%s\t%s\t%d\t%f",pstudent->num,pstudent->name,pstudent->sex,pstudent->age,pstudent->score);
    printf("\n%d\t%s\t%s\t%d\t%f",(pstudent+1)->num,(pstudent+1)->name,(pstudent+1)->sex,(pstudent+1)->age,(pstudent+1)->score);
    float averagescore;
        int number=0;
        int sum=0;
        for(int i=0;i<=4;i++)
        {
            sum+=(pstudent+i)->score;
            if((pstudent+i)->score>=60)
            {
                number++;
            }
        }
        averagescore=sum/5;
        printf("\n%f\t%d",averagescore,number);
}
int circulating(struct StudentType *p,int n)
{
        float averagescore;
        int number=0;
        int sum=0;
        for(int i=0;i<=n-1;i++)
        {
            sum+=(p+i)->score;
            if((p+i)->score>=60)
            {
                number++;
            }
        }
        averagescore=sum/n;
        printf("\n%f\t%d",averagescore,number);
}

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/123415838836141.jpg "#left")

img