函数使用,不知道怎么填参数了!
想把输入,输出学生信息做成函数!应该怎么办?# include <stdio.h>
# include <malloc.h>
struct Student
{
int age;
float score;
char sex[10]; //为什么这里写 char sex;的时候 下面输入换成&p->sex 然后输出的时候会终止程序?是不是因为只有1个字节
//还有把char sex[10] 写成char sex[] 的时候会报错,下面的char name[]都没有报错或者警告。
char name[];
};
void Input () //这里
{
int i;
for (i=0; i<len; ++i)
{
printf ("第%d个学生数据:\n", i+1);
printf ("学生姓名:");
scanf ("%s", p->name);
printf ("学生性别:");
scanf ("%s", p->sex);
printf ("学生年龄:");
scanf ("%d", &p->age);
printf ("学生成绩:");
scanf ("%f", &p->score);
}
}
void Ouput () //这里
{
for (i=0; i<len; ++i)
{
printf ("学生信息如下\n");
printf ("姓名:%s ", p[i].name);
printf ("性别:%s ", p[i].sex);
printf ("年龄:%d ", p[i].age);
printf ("成绩:%f ", p[i].score);
printf ("\n");
}
}
int main(void)
{
int len;
printf ("请输入学生人数:");
scanf ("%d", &len);
printf ("\n");
struct Student * p;
p = (struct Student *)malloc(len * sizeof(struct Student));
Input (); //这里
printf ("\n\n\n");
Ouput (); //这里
return 0;
}