| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2328 人关注过本帖
标题:结构体之间的嵌套 为什么运行不了?
只看楼主 加入收藏
a3575181
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2016-12-13
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:25 
结构体之间的嵌套 为什么运行不了?
程序代码:
#include <stdio.h>
#include <stdlib.h>

typedef
struct{
char name[10];
char sex;
unsigned int age;
}Person;

typedef
struct{
  int math;
  int english;

 int chinese;
  int average;
}Grade;

typedef
struct{
Person person;
long number;
Grade grade;
}Student;
void personInput(Person *pPerson);
void personOutput(Person *pPerson);
void gradeInput(Grade *pGrade);
void gradeOutput(Grade *pGrade);
void studentInput(Student *pstudent);
void studentOutput(Student *pstudent);

int main()
{
    int i;
    Student stu[]={{},{}};


    printf("请输入学生信息:");
  studentInput(&stu[i]);}
if(Student stu[0]->Grade->average<Student stu[1]->Grade->average)
    printf("%s 比 %s 平均成绩低",stu[0],stu[1]);
else printf("%s 比 %s 平均成绩低",stu[1],stu[0]);
   for(i=0;i<2;i++)
  studentOutput(&stu[i]);
    printf("So Easy!");

    return 0;

}

 void personInput(Person *pPerson){
printf("请输入姓名:");
scanf("%s",pPerson->name);
getchar();
printf("请输入性别:");
scanf("%c",&(pPerson->sex));
printf("请输入年龄:");
scanf("%u",&(pPerson->age));}

void personOutput(Person *pPerson){
printf("person:%s的个人信息为:\n",pPerson->name);
printf("\t Name: %s\n",pPerson->name);
printf("\t Sex : %c\n",pPerson->sex);
printf("\t Age : %d\n",pPerson->age);
}
void gradeInput(Grade *pGrade){
printf("请输入数学成绩:");
scanf("%d",&pGrade->math);
printf("请输入英语成绩:");
scanf("%d",&pGrade->english);
printf("请输入语文成绩:");
scanf("%d",&pGrade->chinese);
printf("请输入平均分成绩:");
scanf("%d",&pGrade->average);
}
void gradeOutput(Grade *pGrade){
printf("\t 数学:%d\n",pGrade->math);
printf("\t 英语:%d\n",pGrade->english);
printf("\t 语文:%d\n",pGrade->chinese);
printf("\t 平均分:%d\n",pGrade->average);
}
void studentInput(Student *pstudent){
    personInput(&pstudent->person);
    printf("请输入学号:\n");
    scanf("%ld",&pstudent->number);
    gradeInput(&pstudent->grade);
    }
void studentOutput(Student *pstudent){
    personOutput(&pstudent->person);
    gradeOutput(&pstudent->grade);
    printf("学号:%ld",pstudent->number);


}















麻烦大神看一下

[此贴子已经被作者于2016-12-13 14:12编辑过]

搜索更多相关主题的帖子: 结构体 
2016-12-13 11:01
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
personInput(&pstudent->person);使用定义的变量,而不是用结构体名字
收到的鲜花
  • a35751812016-12-13 11:39 送鲜花  3朵   附言:我很赞同
2016-12-13 11:14
a3575181
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2016-12-13
收藏
得分:0 
回复 2楼 grmmylbs
上面的问题解决了,程序为什么运行不了?
2016-12-13 11:21
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
把更新的代码贴一下。
2016-12-13 11:36
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
Student stu[]={{},{}};??????//表示

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-13 12:51
a3575181
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2016-12-13
收藏
得分:0 
回复 5楼 九转星河
Student stu[2]  ?   这样表示可以吗/》?   求大神解答为什么没有报错却运行不了,不知道哪里错了。
2016-12-13 13:02
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 6楼 a3575181
我的编译器有报错啊

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-13 13:04
a3575181
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2016-12-13
收藏
得分:0 
回复 7楼 九转星河
我用这个   Student stu[2];    没有报错
2016-12-13 13:13
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 8楼 a3575181
现在正在可以进入运行调试了,我帮你看看~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-13 13:19
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
就这么简单~char *name;//char name[10];试试还有没有其他问题~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-13 13:36
快速回复:结构体之间的嵌套 为什么运行不了?
数据加载中...
 
   



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

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