首页 > 编程知识 正文

c语言函数调用结构体数组,C语言函数返回结构体指针

时间:2023-05-03 21:03:57 阅读:135839 作者:2943

如何设置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

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。