标题:求解!关于简单指针结构体
只看楼主
applelik
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-3-20
 问题点数:0 回复次数:6 
求解!关于简单指针结构体
题目:输入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
qfyzy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:380
专家分:86
注 册:2008-2-17
得分:0 
scanf("%c",&a[i].sex);
这个的问题,自己想一想

当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2008-03-23 18:04
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
得分:0 
你在每个scanf函数的前面最好先提示输入信息,主要是输入格式,在一条纪录输入完成后,要对回车符号进行处理,这样就不会有问题了

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2008-03-23 18:09
applelik
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-3-20
得分:0 
...
怎么了?想不出来,直接说吧,呵呵
补充下,sex=‘f’or‘m'
2008-03-23 18:13
qfyzy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:380
专家分:86
注 册:2008-2-17
得分:0 
你想想你的回车键哪去了

当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2008-03-23 18:16
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.155533 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved