c语言结构体函数调用参数怎么设置

函数结构是下面的代码,main函数中如何调用showinfo函数,参数应该怎么设置,对参数的设置不太明白

C/C++ code#include

#define SIZE 5

#define LEN 40

struct birth

{

int year;

int month;

};

struct student

{

int num;

char name[LEN];

int age;

char sex[LEN];

struct birth stu;

};

struct student getinfo(struct student *,int);

struct student showinfo(struct student);

int main(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);

}

return 0;

}

struct student getinfo(struct student *temp,int n)

{

int i;

printf("NO is %d\n",n+1);

temp[n].num=n+1;

printf("please input the name:\n");

scanf("%s",temp[n].name);

printf("please input the age:\n");

scanf("%d",&temp[n].age);

printf("please enter sex(0 is boy, 1 is girl)");

scanf("%d",&i);

strcpy(temp[n].sex,(i==0)?"boy":"girl");

printf("please input the birth:\n");

scanf("%d%d",&temp[n].stu.year,&temp[n].stu.month);

}

struct student showinfo(struct student *pst,int n)

{

printf("%d %s %d %s %d-%d \n",(pst+n)->num,(pst+n)->name,(pst+n)->age,(pst+n)->sex,(pst+n)->stu.year,(pst+n)->stu.month);

}

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

struct student showinfo(struct student, int n);//声明的时候差个参数,第一个参数差个指针。其实返回值用空就行了。建议写成void showinfo(struct student *temp, int n);//实现函数部分也要对应修改。main里面调用showinfo没有问题。

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

C/C++ code#include

#define SIZE 2

#define LEN 40

struct birth

{

int year;

int month;

};

struct student

{

int num;

char name[LEN];

int age;

char sex[LEN];

struct birth stu;

};

void getinfo(struct student *,int);//

void showinfo(struct student *);//

int main(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);

}

return 0;

}

void getinfo(struct student *temp,int n)//

{

int i;

printf("NO is %d\n",n+1);

temp[n].num=n+1;

printf("please input the name:\n");

scanf("%s",temp[n].name);

printf("please input the age:\n");

scanf("%d",&temp[n].age);

printf("please enter sex(0 is boy, 1 is girl)");

scanf("%d",&i);

strcpy(temp[n].sex,(i==0)?"boy":"girl");

printf("please input the birth:\n");

scanf("%d%d",&temp[n].stu.year,&temp[n].stu.month);

}

void showinfo(struct student *pst,int n)//

{

printf("%d %s %d %s %d-%d \n",(pst+n)->num,(pst+n)->name,(pst+n)->age,(pst+n)->sex,(pst+n)->stu.year,(pst+n)->stu.month);

}

c语言结构体调用成员函数,c语言结构体函数调用参数如何设置相关推荐

  1. struct结构体扩展-成员函数

    struct结构体扩展-成员函数 在C++中,允许在结构中定义函数,该函数被称为成员函数,描述形式如下: struct 结构名{数据成员成员函数 } 例题描述: 输入n个学生的信息,每个学生信息包括姓 ...

  2. 三菱R系列PLC程序 全部采用ST语言编写,内部使用函数块和结构体,程序思路清晰

    三菱R系列PLC程序 全部采用ST语言编写,内部使用函数块和结构体,程序思路清晰,简洁明了. 通过结构体和函数块的使用,可以使您在程序编写水平得到很大提高. ST语言是PLC后续的主流语言,是日后编程 ...

  3. 【C++】空指针调用成员函数及访问成员变量

    最近在review代码的时候发现,使用了空指针调用成员函数,并且成员函数内部有使用到成员变量,居然没有出错.很是奇怪,就用一篇博客把关于空指针调用成员函数相关的内容总结起来. 空指针调用成员函数 调用 ...

  4. C语言中连续调用rand函数,返回值不变

    C语言中连续调用rand函数,返回值不变 最近用C语言随机函数编程发现了一个奇怪的现象: 简易版代码: #include<stdio.h> #include<stdlib.h> ...

  5. php调用成员函数错误,PHP致命错误:在非对象上调用成员函数exec...

    我收到错误PHP致命错误:每当我调用类似的东西时,都在非对象上调用成员函数execute(),该对象引用-.-> execute()行. $select_str = 'select id, st ...

  6. php函数param太多,关于php:在非对象上调用成员函数bind_param()

    本问题已经有最佳答案,请猛点这里访问. 我正在尝试在此准备好的语句中绑定变量,但我一直收到错误: Call to a member function bind_param() on a non-obj ...

  7. 类的成员函数指针和静态成员函数指针 调用成员函数***

    C++提供static这个关键词对静态成员进行声明,静态成员函数和类的实例化无关,对于同一类来说,静态成员函数是所有类的对象共享的.而普通成员函数需要实例化才能调用,对于每一个实例来说,普通成员函数是 ...

  8. R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数

    R语言merge函数全连接dataframe数据(Full (outer) join).merge函数进行全连接必须将参数all设置为true(all=TRUE).默认merge函数通过公共列名合并数 ...

  9. R语言使用plot函数可视化数据、使用type参数自定义设置可视化的类型(数据点和线关系的类型)、设置type参数为s则为阶梯状显示

    R语言使用plot函数可视化数据.使用type参数自定义设置可视化的类型(数据点和线关系的类型).设置type参数为s则为阶梯状显示 目录

最新文章

  1. CPaintDC和CClientDC的区别
  2. sql语句中动态变量中间含有单引号
  3. Leetcode PHP题解--D6 595. Big Countries
  4. 微服务(MicroServices)
  5. MyBatis使用log4j输出日志
  6. 【早知云世】当AI遇上云计算,其应用短板与长处
  7. rabbitmq 延迟队列的实现(PHP)http://blog.yuhai.win
  8. 复杂网络学习的一些常用数据集
  9. 开发跨境电商/外贸商城网站需要考虑的事项
  10. 一、Fiddler抓包工具 — Fiddler介绍与安装
  11. rocketMQ报错:No accessKey is configured
  12. Qt学习笔记之Qt软件的打包发布
  13. 阿里接口调用——智能植物识别(含花卉与杂草)
  14. SPSS多元线性回归输出结果的详细解释
  15. 第十届蓝桥杯大赛软件赛省赛——Java大学A组
  16. 发布“智能化、平台化、全程电子化”的新OA系统——e-cology9.0
  17. 010 火狐浏览器插件中,没有Xpath怎么办
  18. hihocoder 1014
  19. 程序员的乐趣是什么?
  20. [AHK]Excel 怎么使用鼠标滚轮控制表格左右移动

热门文章

  1. 有商在线进销存成功案例
  2. TF ckpt转pb脚本
  3. ubuntu16.04装机7: 挂载机械硬盘
  4. C# 根据空格数截取
  5. 专业运维配的vsftpd.conf
  6. 樱花漫地集于我心,蝶舞纷飞祈愿相随---总结 适者:survival of the fittest 适者:survival of the fittest...
  7. android res目录下存放图片文件夹 i m h xh xxh
  8. Dapper使用在WCF上总是说Service找不到
  9. C#中字符串转换成枚举类型的方法
  10. 定位需求 整理思路 组装函数