谁能帮我看下这个程序问题出在哪?

1个回答

  • d hot(struct stu a[5]);

    struct stu

    {

    int num;

    char *name;

    int score[3];

    }boy[5];

    void main()

    {

    int i,j;

    for(i=0;i<5;i++)

    {

    printf("请输入学生的学号:");

    scanf("%d",&boy[i].num);

    printf("请输入学生的姓名:");

    scanf("%s",boy[i].name);

    printf("请输入三门该生成绩:");

    for(j=0;j<3;j++)

    scanf("%d",&boy[i].score[j]);

    }

    hot(boy);

    // return 0;

    }

    void hot(struct stu a[5])

    {

    int i,j;

    for(i=0;i<5;i++)

    printf("学号为:%d",a[i].num);

    printf("姓名为:%s",a[i].name);

    for(j=0;j<3;j++)

    printf("成绩为%d",a[i].score[j]);

    }

    这是我修改后的程序...你仔细看看和你的有哪些不同的!

    你的错误主要有以下几大点:

    1.在void main()中.你出现了return 0语句.这是不对的.void说明无返回值..

    2.hot(boy); 函数调用时,不必再次输入类型名!而且...形参以"数组"的形式给出(事实上是指针形式),实参必须要传递地址.你原来的boy[5]是元素!

    3.在最后hot函数定义中...下面应该是a[i].XX,而不是boy[i].XX

    4.在函数中的类型.是struct stu.不是struct std.

    这位兄弟..你给的分太少了...应该不会有人这么费力的为你解答吧!呵呵 ...!