标题:求解!关于简单指针结构体
取消只看楼主
applelik
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-3-20
 问题点数:0 回复次数:3 
求解!关于简单指针结构体
题目:输入3个学生相关信息(学号,性别,及3门成绩),再调用另一指针函数进行输出。

下面是我的程序:
struct student
  {
    int num;
    char sex;
    int score[3];
  };
void main()
{
   int i,j;
   void pri(struct student *,int);
   struct student a[3];
   for(i=0;i<3;i++)
    {
     scanf("%d",&a[i].num);
     scanf("%c",&a[i].sex);
     for(j=0;j<3;j++)
      scanf("%d",&a[i].score[j]);
    }
    pri(a,3);

}
void pri(struct student *p,int n)
{
  int i,j;
   for(i=0;i<n;i++)
    {
     printf("\nThe %d student information are:\n");
     printf("%d ",p->num);
     printf("%c ",p->sex);
     for(j=0;j<3;j++)
       printf("%d ",p->score[j]);
     p++;
    }
}

运行输入一半,就跳出来了,输出也不正常...
本人刚学结构体,不知问题出在哪里,望各位能帮着解答下,谢谢了!!
搜索更多相关主题的帖子: 指针 int 结构体 student pri 
2008-03-23 17:57
applelik
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-3-20
得分:0 
...
怎么了?想不出来,直接说吧,呵呵
补充下,sex=‘f’or‘m'
2008-03-23 18:13
applelik
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-3-20
得分:0 
呵呵,谢谢各位了!!原来还没碰到过这种连续输入的问题...
2008-03-23 18:22
applelik
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-3-20
得分:0 
能说说,为什么要在scanf("\n%c",&a[i].sex)加,而第三次输入不用加?不能输入时,自己输入回车代表此次输入结束,进入下次输入吗?找不到解答,还麻烦各位了!
2008-03-23 18:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-204880-1-1.html




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

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