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

自己做网站难么常见的跨境电商平台有哪些?

自己做网站难么,常见的跨境电商平台有哪些?,营销网站如何建设,建设小游戏网站空间类型选择目录 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://wiki.neutronadmin.com/news/410885/

相关文章:

  • 坑梓网站建设哪家好中国新闻社招聘
  • 沈阳家用电梯公司网站制作网站建设公司那记号
  • h5游戏网站入口动漫制作专业学校
  • 做响应式网站的菜单郑州专业高校网站建设公司
  • 汕头网站建设模块雅布设计
  • 郑州企业网站排行wordpress资源付费
  • 网站出现 503怎么了社保服务个人网页
  • 网站建设 昆明 价格wordpress单号管理
  • 学校英文版网站建设佛山市南海区交通建设网站
  • 跟换网站域名辽宁省高等级公路建设局网站
  • 请人建设网站需要注意什么外贸建站用什么服务器
  • 威海 网站建设推广方式有哪几种
  • 设计素材网站黄金烤肠国家建筑网站
  • 自己做网站的优势丹徒网站建设哪家好
  • 建设网站的技术阿里云 网站备案
  • 备案的网站建设书是什么垂直 网站开发
  • 贵州城乡和住房建设厅网站建设一个商城网站大概多少钱
  • 建站好的公司青岛 正规网站空间
  • 给网站做镜像花钱做网站不给源代码
  • 深圳专业定制建站公司青岛永诚网络有限公司
  • 沈阳网站建设思路胶南市城乡建设局网站
  • 龙华民治网站建设中国建设银行行号查询
  • 邯郸企业网站制作建设青岛网站建设公司报价
  • ipv6网站建设东莞网站流量少怎么做
  • 网站提速新开发网站
  • 济南网站建设鲁icp备国际网站建设与维护
  • 企业品牌网站建设价格wordpress的ftp设置
  • 搭建大数据平台费用太原百度网站快速优化
  • 土地违法建设投诉网站怎样做网站首页
  • 沈阳响应式网站制作毕设网站建设