| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 632 人关注过本帖
标题:请问为什么红色字体部分是p = head->next->next而不是p = head->next? ...
取消只看楼主 加入收藏
wgw1993221
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-1-2
结帖率:0
收藏
已结贴  问题点数:10 回复次数:0 
请问为什么红色字体部分是p = head->next->next而不是p = head->next?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

struct StudentInfo
{
    char xh[12];    //学号
    char xm[12];    //姓名
    int  sex;        //性别0-表示女生1-表示男生
    int  dycj;        //德育成绩
    int  zycj;        //智育成绩
    int  tycj;        //体育成绩
    double zhcjpji; //综合测评成绩

    struct StudentInfo *next;
};
struct studentInfo
{
    char xh[12];    //学号
    char xm[12];    //姓名
    int  sex;        //性别0-表示女生1-表示男生
    int  dycj;        //德育成绩
    int  zycj;        //智育成绩
    int  tycj;        //体育成绩
    double zhcjpji; //综合测评成绩
};

struct StudentInfo* Read(int n);

int main ()
{
    struct StudentInfo *Head;

    Head = Read(10);
}

struct StudentInfo* Read(int n)
 {
    FILE *fp;
    int i,num=0;

    if ((fp = fopen("in.dat","rb"))==NULL)
    {
        printf ("cannot open file\n");
    }
    struct StudentInfo *head;
    struct StudentInfo *p,*q;

    p = (struct StudentInfo*)malloc(sizeof(struct StudentInfo));
    q = (struct StudentInfo*)malloc(sizeof(struct StudentInfo));
    head = (struct StudentInfo*)malloc(sizeof(struct StudentInfo));

    head->next = p;

    while (!feof(fp))
    {
        fread(q,sizeof(struct studentInfo),1,fp);
        p->next = q;
        p = q;
        q = (struct StudentInfo*)malloc(sizeof(struct StudentInfo));
        num++;
    }
    num = num-1;//学生总数
    p = NULL;
   
    p = head->next->next;
    for (i=0;i<num;i++)
    {
        if (p->sex==0)
        {
            printf ("%12s%12s 女 %9d%9d%9d%6.2f\n",p->xh,p->xm,p->dycj,p->zycj,p->tycj,p->zhcjpji);
        }
        else
        {
            printf ("%12s%12s 男 %9d%9d%9d%6.2f\n",p->xh,p->xm,p->dycj,p->zycj,p->tycj,p->zhcjpji);
        }
        q = p->next;
        p = q;
    }
    printf ("共有学生%d个",num);

    return head;
 }
搜索更多相关主题的帖子: 姓名 体育 include double 女生 
2012-01-02 11:55
快速回复:请问为什么红色字体部分是p = head->next->next而不是p = head->next? ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016153 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved