当前位置: 首页 > news >正文

手表哪个网站正品360推广助手

手表哪个网站正品,360推广助手,网页设计二级页面,仙游县住房和城乡建设局网站一、回调函数 回调函数就是通过函数指针调用的函数 如果你把函数的指针作为参数传递给另外一个函数#xff0c;当这个指针被用来调用其所指向的函数时#xff0c;被调用的函数就是回调函数。回调函数并不是一个单一的函数实现的#xff0c;而是在某种情况下#xff0c;编…一、回调函数 回调函数就是通过函数指针调用的函数 如果你把函数的指针作为参数传递给另外一个函数当这个指针被用来调用其所指向的函数时被调用的函数就是回调函数。回调函数并不是一个单一的函数实现的而是在某种情况下编写者根据需要所编写的在特定的时间或条件发生由另外一方的调用的用于对该事件的相应 这是我们普通实现计算器的思路和代码  #includestdio.h int Add(int x, int y) {return x y; } int Sub(int x, int y) {return x - y; } int Mul(int x, int y) {return x * y; } int Div(int x, int y) {return x / y; } void menu() {printf(*************************\n);printf(**1:add***********2:sub**\n);printf(**3:mul***********4:div**\n);printf(*********0:exit**********\n);printf(*************************\n);} int main() {int x 0;int y 0;int input 0;int ret 0;do{menu();printf(请输入);scanf(%d, input);switch (input){case 0:break;case 1:printf(请输入两个数);scanf(%d %d, x, y);ret Add(x, y);printf(%d%d%d\n, x, y, ret);break;case 2:printf(请输入两个数);scanf(%d %d, x, y);ret Sub(x, y);printf(%d-%d%d\n, x, y, ret);break;case 3:printf(请输入两个数);scanf(%d %d, x, y);ret Mul(x, y);printf(%d*%d%d\n, x, y, ret);break;case 4:printf(请输入两个数);scanf(%d %d, x, y);ret Div(x, y);printf(%d/%d%d\n, x, y, ret);break;default:printf(输入错误请重新输入\n);break;}} while (input);return 0; } 然后我们发现这种代码和思路非常非常的冗余对于初学者来说很友好但是对于进阶来说 这种重复性的代码不是很好的选择那么有没有方法让他简化一下哪 当然有用回调函数这里Cacl()函数就是回调函数。 int Add(int* x, int* y)//1 {return *x *y; } int Sub(int* x, int* y)//1 {return *x *y; } int Mul(int* x, int* y)//1 {return *x *y; } int Div(int* x, int* y)//1 {return *x *y; }void meau() {printf(*************************\n);printf(**1:add***********2:sub**\n);printf(**3:mul***********4:div**\n);printf(*********0:exit**********\n);printf(*************************\n);} void Cacl(int(*pf)(int*, int*)) {int ret 0;int x 0, y 0;printf(请输入两个数);scanf(%d %d, x, y);ret pf(x,y);printf(%d\n, ret);}int main() {int a 0, b 0;int input 0;do{meau();printf(请输入);scanf(%d, input);switch (input){case 0:break;case 1:Cacl(Add);break;case 2:Cacl(Sub);break;case 3:Cacl(Mul);break;case 4:Cacl(Div);break;default:printf(输入错误请重新输入);break;}} while (input);return 0; }二、qsort函数 qsort函数 qsort函数时C语言提供的一个库函数头文件时stdlib.h对任意类型的元素都能进行排序。 void qsortvoid*base,   size-t nums,   size_t size,   int(*compare)(const*void elem1,const*void elem2) ; void*base 是待排序数组的第一个首元素的地址。  size_t nums是待排序数组的元素个数。  size_t size是待排序数组中每个元素的大小。  int(*compare)(const*void elem1,const*void elem2)函数指针-------传函数的地址。 注意int(*compare)(const*void elem1,const*void elem2))-----比较函数需要使用qsort函数的程序员自己实现并且有以下要求。 当p1p2时返回小于1的数 。   当p1p2时返回等于0的数 。  当p1p2时返回大于1的数。  1.通过结构体中的整形成员排序 #includestdio.h #includestdlib.h void Print(int arr[], int sz) {int i 0;for (i 0; i sz; i){printf(%d , arr[i]);} } struct stu {char name[20];int age; }; //按照年龄比较排序结构体数组 int cmp_stu_by_age(const void* e1, const void* e2) {//return (*((struct stu*)e1)).age (*((struct stu*)e2)).age;return ((struct stu*)e1)-age - ((struct stu*)e2)-age; } void test2() {struct stu arr[] { {zhangsan,20},{lisi,35},{wangwu,18} };int sz sizeof(arr) / sizeof(arr[0]);qsort(arr, sz, sizeof(arr[0]), cmp_stu_by_age);//通过age排序 } int main() {test2();return 0; } 2.通过结构体中的字符串成员排序 #includestdio.h #includestdlib.h #includestring.h void Print(int arr[], int sz) {int i 0;for (i 0; i sz; i){printf(%d , arr[i]);} } struct stu {char name[20];int age; }; //按照名字比较排序结构体数组 int cmp_stu_by_name(const void* e1, const void* e2) {//注意强转是暂时的需要带上()return strcmp(((struct stu*)e1)-name, ((struct stu*)e2)-name);//这里借助strcmp函数比较字符串返回值恰好与函数的返回值要求相同 } void test2() {struct stu arr[] { {zhangsan,20},{lisi,35},{wangwu,18} };int sz sizeof(arr) / sizeof(arr[0]);qsort(arr, sz, sizeof(arr[0]), cmp_stu_by_name); } int main() {test2();return 0; }到这里指针系列就结束了感谢各位支持但是我们都知道学习永无止境 我们都会走向属于自己的顶峰
http://www.hkea.cn/news/14332982/

相关文章:

  • 郑州网站设计专家天津网络推广网站建设公司
  • 专门提供做ppt小素材的网站2013一汽大众企业网站车主俱乐部建设维护方案
  • 网站建设需求有什么用中国建设银行信用卡网站
  • jquery做的网站互联网获客
  • tp框架做展示网站网站开发价格明细
  • php 做网站 python哈尔滨市人社app
  • 给网站做翻译营销词汇100个
  • 佛山网站制作专业公司wordpress 主题js
  • 网站维护的要求手机排行榜2022最新
  • 网站为什么要备案58同城网站建设案例
  • 使用django建设一个网站做公司网站 烟台
  • 男男互做网站我在学校志愿队做网站的经历
  • 怀柔网站制作wordpress批量导入文章cvs
  • 深圳专业做网站技术用户界面设计原则软件开发工具
  • 怎么用dw网站怎么建设建设网站二级子页打不开
  • 适合学生做网站的图片网站服务器建设合同范本
  • 开源wiki做网站wordpress 采集蜘蛛
  • 自适应网站如何做移动适配中国最知名的网站建设公司
  • 服饰网站建设 e-idea做网站卖掉
  • 又名林州站长网会展行业门户网站建设
  • 网上推广引流的有用吗?西安seo培训哪个好
  • 网站三站合一朋友做网站网站挣了好多钱
  • 鲜花店网站建设项目三的设计与制作
  • 娱乐类网站怎么建设网页项目策划书模板
  • 大型网站开发框架seo的定义
  • 找哪里做网站太湖县住房与建设局网站
  • 网站建设123课工场网站建设培训
  • 天河门户网站建设公司哈尔滨信息工程学院
  • 做网站包括什么条件企业所得税政策最新2023税率
  • app推广服务部济南网站优化多少钱