当前位置: 代码迷 >> C语言 >> 紧急求救!!大家帮帮我吧!
  详细解决方案

紧急求救!!大家帮帮我吧!

热度:140   发布时间:2004-12-09 22:55:00.0
紧急求救!!大家帮帮我吧!

struct boy { long num; char name[20]; struct { int year; int month; int today; } day; } stu[3]; void print (struct boy stu) { int i; for(i=0;i<3;i++) printf("the num is%ld\nthe name is%s\nthe birthday is%d %d %d",stu[i].num,stu[i].name,stu[i].day.year,stu[i].day.month,stu[i].day.today); } main() { int i; for(i=0;i<3;i++) scanf("%ld%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].day.year,&stu[i].day.month,&stu[i].day.today); print(stu); }

大家帮我看一下这个程序,哪里有错误,紧急求救!!

搜索更多相关的解决方案: 大家  紧急  

----------------解决方案--------------------------------------------------------

这样改一下试试:

struct aa {int year; int moth; int today; };

struct boy { long num; char name[20]; struct aa day; } stu[3]; void print (struct boy stu) { int i; for(i=0;i<3;i++) printf("the num is%ld\nthe name is%s\nthe birthday is%d %d %d",stu[i].num,stu[i].name,stu[i].day.year,stu[i].day.month,stu[i].day.today); } main() { int i; for(i=0;i<3;i++) scanf("%ld%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].day.year,&stu[i].day.month,&stu[i].day.today); print(stu); }


----------------解决方案--------------------------------------------------------
错误的原因是参数传递不正确,所以2楼改的不对,只需要将void print (struct boy stu)改为 void print (struct boy stu[])即可,可以将输出函数修改一下,显示的好看一些。
----------------解决方案--------------------------------------------------------
楼上的真厉害,我改过之后就正确了,就缺少了一个方括号,差别就这么大,我以后会注意的,在此我也希望大家能够注意。谢谢楼上的伙计了!!!
----------------解决方案--------------------------------------------------------
  相关解决方案