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

企业网站推广的线上渠道网页设计类型与风格

企业网站推广的线上渠道,网页设计类型与风格,山东外贸公司名录,wordpress建站要钱么目录 1.回调函数 2. qsort 函数的使用 2.1 排序整型数据 2.2 排序结构体数据 3. qsort 函数的模拟实现 1.回调函数 回调函数就是通过一个函数指针调用的函数。 你把函数的地址作为参数传递给另一个函数#xff0c;当这个指针被用来调用其所指向的函数时#xff0c;被调…目录 1.回调函数 2. qsort 函数的使用 2.1 排序整型数据 2.2 排序结构体数据 3. qsort 函数的模拟实现 1.回调函数 回调函数就是通过一个函数指针调用的函数。 你把函数的地址作为参数传递给另一个函数当这个指针被用来调用其所指向的函数时被调用的函数就是回调函数。该函数不是自己直接调用自己而是在特点的事件或条件发生时由另外的⼀⽅调⽤的⽤于对该事件或条件进行响应。 回调函数使用条件 这些函数的的函数类型都基本一致只是函数内容上有差距。 #include stdio.h int add(int a, int b) {return a b; } int sub(int a, int b) {return a - b; } int mul(int a, int b) {return a * b; } int div(int a, int b) {return a / b; } void calc(int(*pf)(int, int))//回调函数接收函数的地址 {int ret 0;int x, y;printf(输入操作数);scanf(%d %d, x, y);ret pf(x, y);printf(ret %d\n, ret); } int main() {int input 0;do{printf(*************************\n);printf( 1:add 2:sub \n);printf( 3:mul 4:div \n);printf( 0:exit \n);printf(*************************\n);printf(请选择);scanf(%d, input);switch (input){case 1:calc(add);break;case 2:calc(sub);break;case 3:calc(mul);break;case 4:calc(div);break;case 0:printf(退出程序\n);break;default:printf(选择错误\n);break;}} while (input);return 0; } 2. qsort 函数的使用 qsort是库函数这个函数可以完成任意类型数据的排序。使用时包含头文件stdlib.h void qsort(void*base,//base指向了要排序的数组的第一个元素size_t num,//base指向的数组中的元素个数待排序的数组的元素的个数size_t size,//base指向的数组中元素的大小单位是字节int(*compar)(const void* p1,const void*p2)//函数指针——指针指向的函数是用来比较数组中的两个元素的。 ); 2.1 排序整型数据 #include stdio.h #includestdlib.h //qsort函数的使⽤者得实现⼀个比较函数 int int_cmp(const void* p1, const void* p2) {return (*(int*)p1 - *(int*)p2); } void print(int* arr,int sz) {for (int i 0; i sz; i){printf(%d , arr[i]);}printf(\n); } int main() {int arr[] { 1, 3, 5, 7, 9, 2, 4, 6, 8, 0 };int sz sizeof(arr) / sizeof(arr[0]);qsort(arr,sz , sizeof(arr[0]), int_cmp);//1.数组的第一个元素2.数组的长度数组的第一个元素的大小比较函数接收返回值print(arr,sz);return 0; } 2.2 排序结构体数据 struct str {char name[20];int eag; }; //怎么比较两个结构体数据--不能直接使用比较 //1.可以按照名字比较 //2.可以按照年龄比较//按照年龄比较 int cmp1(const void* p1, const void* p2) {return ((struct str*)p1)-eag - ((struct str*)p2)-eag; } void test1() {struct str arr[] { {zhangsan,50},{lisi,60},{laowang,90} };int sz sizeof(arr) / sizeof(arr[0]);qsort(arr, sz, sizeof(arr[0]), cmp1); } //按照名字比较 //注意两个字符串不能使用比较 //而是使用库函数strcmp来比较的 int cmp2(const void* p1, const void* p2) {return strcmp(((struct str*)p1)-name, ((struct str*)p2)-name); } void test2() {struct str arr[] { {zhangsan,50},{lisi,60},{laowang,90} };int sz sizeof(arr) / sizeof(arr[0]);qsort(arr, sz, sizeof(arr[0]), cmp2); }int main() {test1();test2();printf(\n);return 0; } 3. qsort 函数的模拟实现 使⽤回调函数模拟实现qsort采⽤冒泡的⽅式。 int int_cmp(const void* p1, const void* p2) {return (*(int*)p1 - *(int*)p2); } void swap(void* p1, void* p2, int size) {int i 0;for (i 0; i size; i){char tmp *((char*)p1 i);*((char*)p1 i) *((char*)p2 i);*((char*)p2 i) tmp;} } void bubble(void* base, int count, int size, int(*cmp)(const void*,const void*)) {int i 0;int j 0;for (i 0; i count - 1; i){for (j 0; j count - i - 1; j){if (cmp((char*)base j * size, (char*)base (j 1) * size) 0){swap((char*)base j * size, (char*)base (j 1) * size, size);}}} } int main() {int arr[] { 1, 3, 5, 7, 9, 2, 4, 6, 8, 0 };int i 0;bubble(arr, sizeof(arr) / sizeof(arr[0]), sizeof(int), int_cmp);for (i 0; i sizeof(arr) / sizeof(arr[0]); i){printf(%d , arr[i]);}printf(\n);return 0; }
http://www.hkea.cn/news/14380600/

相关文章:

  • 删除网站备案泸州网页设计
  • 钢材销售网站建设网站代码特效广告
  • 个人网站的前途购物网站建设价格一览表
  • 绿色主色调网站假冒网站能通过备案登记吗
  • 企业培训机构网站源码天河区做网站公司
  • 模板网站开发做网站用主机
  • 企业网站建设方案范本西安关键词排名软件
  • 永久免费wap建站互联网装修公司
  • 标识标牌网站怎么做今天哈尔滨最新通知
  • 新公司网站建设流程云南制作网站的公司
  • 青岛建设集团官方网站做快递单的网站会不会是骗人的
  • 横沥镇网站建设公司云端商城买流量
  • 免费网页制作网站建设百度快照手机版
  • 成都专业网站制作多少钱长沙网站建设icp备
  • 沈阳做网站直播的公司沈阳城乡建设局官网
  • 网站规划 设计 制作 发布与管理过程西安网站建设qq群号
  • 三门网站建设做打鱼网站的代理
  • 四川省平昌城乡建设厅网站济南企业建站平台
  • 中国空间站图片绘画wordpress建站 图片
  • 西宁专业网站建设在南海建设工程交易中心网站
  • 平台推广网站排名wordpress大图简约主题
  • 旅游网站开发的意义相关资料制作网页需要多少钱
  • 新网站seo安卓app十大开发框架
  • 网站建设与管理的总结聊城做网站的地方
  • 程序员培训机构排名推广优化师
  • 沈阳开发网站公司广州网站建设吧
  • 哪些网站是动态的wordpress首页在哪儿
  • 苏州手机网站seowordpress查询数据库
  • 陕西网站建设推广公司律师微网站建设
  • 网站升级建设网站建设备案不通过