如何设置c语言结构函数调用参数
函数结构是以下代码,不太清楚在main函数中如何调用showinfo函数,参数应该如何设置,以及参数的设置
c/c代码# include
#define SIZE 5
#define LEN 40
结构桥
{
年;
int month;
(;
struct student
{
int num;
char name[LEN];
int age;
char sex[LEN];
struct birth stu;
(;
structstudentgetinfo (struct student *,int );
structstudentshowinfo (structstudent;
入主(void ) )。
{
int n=0;
int i;
struct student st[SIZE];
struct student *pst=st;
while(n
{
ST[n]=Getinfo(ST,n );
n;
}
for(n=0; n
{
showinfo(PST,n );
}
返回0;
}
structstudentgetinfo (struct student * temp,int n ) )。
{
int i;
printf(nois%d(n ),n 1 );
temp[n].num=n 1;
printf (pleaseinputthename : (n );
scanf('%s ',temp[n].name );
printf (pleaseinputtheage : (n );
scanf('%d ',temp[n].age );
printf(pleaseentersex )0isboy,1 is girl ) );
scanf('%d ',I );
strcpy(temp[n].sex,(i==0) )? ' boy':'girl ';
printf (pleaseinputthebirth : (n ) );
scanf('%d%d )、temp[n].stu.year、temp[n].stu.month );
}
structstudentshowinfo (struct student * PST,int n ) )。
{
printf(%d%s%d%s%d-%d(n ),) pst n )-name,) pst n )-age,) pst n )-sex,) pst n )-age
}
---------解决办法----- -解决办法
structstudentshowinfo (struct student,int n; //声明时缺一个参数,第一个参数缺一个指针。 其实返回值可以是空的。 建议使用void show info (struct student * temp,int n )。 //实现函数的部分也必须对应修改。 在main中调用showinfo没有问题。
---------解决办法----- -解决办法
c/c代码# include
#define SIZE 2
#define LEN 40
结构桥
{
年;
int month;
(;
struct student
{
int num;
char name[LEN];
int age;
char sex[LEN];
struct birth stu;
(;
voidgetinfo(structstudent*,int ); //
void show info (结构样式*; //
入主(void ) )。
{
int n=0;
int i;
struct student st[SIZE];
struct student *pst=st;
while(n
{
//ST[n]=Getinfo(ST,n );
Getinfo(ST,n );
n;
}
for(n=0; n
{
showinfo(PST,n );
}
返回0;
}
voidgetinfo(structstudent*temp,int n ) /
{
int i;
printf(nois%d(n ),n 1 );
temp[n].num=n 1;
printf (pleaseinputthename : (n );
scanf('%s ',temp[n].name );
printf (pleaseinputtheage : (n );
scanf('%d ',temp[n].age );
printf(pleaseentersex )0isboy,1 is girl ) );
scanf('%d ',I );
strcpy(temp[n].sex,(i==0) )? ' boy':'girl ';
printf (pleaseinputthebirth : (n ) );
scanf('%d%d )、temp[n].stu.year、temp[n].stu.month );
}
voidshowinfo(structstudent*PST,int n ) /
{
printf(%d%s%d%s%d-%d(n ),) pst n )-name,) pst n )-age,) pst n )-sex,) pst n )-age
}