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

河南网站推广夜间直播平台哪个好用

河南网站推广,夜间直播平台哪个好用,网站建设与管理课程心得体会,网站模板怎么替换大家好#xff0c;我是苏貝#xff0c;本篇博客带大家了解qsort函数#xff0c;如果你觉得我写的不错的话#xff0c;可以给我一个赞#x1f44d;吗#xff0c;感谢❤️ 文章目录 一. qsort函数参数详解1.数组首元素地址base2.数组的元素个数num和元素所占内存空间大小w… 大家好我是苏貝本篇博客带大家了解qsort函数如果你觉得我写的不错的话可以给我一个赞吗感谢❤️ 文章目录 一. qsort函数参数详解1.数组首元素地址base2.数组的元素个数num和元素所占内存空间大小width3.自定义比较函数cmp 二. cmp函数1. 对整型数组排序char/short/int/long2 .对浮点型数组排序(float/double)3.对字符串长度和大小排序3.1 对字符串长度排序3.2 对字符串大小排序 4.对结构体排序 一. qsort函数参数详解 函数原型void qsort( void *base, size_t num, size_t width, int (__cdecl *compare )(const void *elem1, const void *elem2 ) ); 头文件stdlib.h 返回值无 1.数组首元素地址base 如果想将一组数据进行排序那么就要知道该数组首元素地址。base的类型为void* 代表base可以是任意类型的指针(地址)也就是说数组可以是任意类型的。比如base的类型为int * ,代表该数组的类型为intbase的类型为double * ,代表该数组的类型为double 2.数组的元素个数num和元素所占内存空间大小width 如果想将一组数据进行排序要知道该数组首元素地址和最后一个元素的地址但最后一个元素地址不方便作为参数所以要知道数组的元素个数num和一个元素所占内存空间大小width。size_t是无符号整型 3.自定义比较函数cmp cmp原型int cmp(const void *a, const void *b ) ; a,b的类型为void * 也代表它们可以是任意类型的变量 注意 1.不管ab是何种类型的变量cmp返回值的类型永远是int 2.* a和 *b前都要加const确保 *a和 *b的值不会被改变 如果想了解const请点击该链接 二. cmp函数 先将a和b强制类型转换为数组的类型如数组的类型为int那么将a和b强制类型转换为int* 类型如数组的类型为double那么将a和b强制类型转换为double* 类型。再让指针变量pa和pb分别指向a和b指向的内容。用num1和num2分别存储pa和pb指向的内容。返回一个值注意对于不同的类型return后面的表达式也不尽相同 1. 对整型数组排序char/short/int/long int cmp(const void* a, const void* b) {int* pa (int*)a;int* pb (int*)b;int num1 *pa;int num2 *pb;return num1 - num2;//升序//return num2 - num1;//降序 }可以简写为 int cmp(const void* a, const void* b) {return *(int*)a - *(int*)b;//升序//return *(int*)b - *(int*)a;//降序 }字符在内存中存储的是字符的ASCII码值ASCII码是整型所以char的写法同int int cmp(const void* a, const void* b) {return *(char*)a - *(char*)b;//升序//return *(char*)b - *(char*)a;//降序 }int main() {char arr[6] { 1,3,4,2,8,6};qsort(arr, 6, sizeof(char), cmp);int i 0;for (i 0; i 6; i)printf(%c\n, arr[i]);return 0; }2 .对浮点型数组排序(float/double) cmp的返回值类型为int若数组为double如果用return (int)(* (char*)a - * (char*)b); 小数会被丢失造成结果不准确所以用下面的判断返回值 int cmp(const void* a, const void* b) {return *(double*)a *(double*)b ? 1 : -1;//升序//return *(double*)a *(double*)b ? 1 : -1;//降序 }3.对字符串长度和大小排序 3.1 对字符串长度排序 int cmp(const void* a, const void* b) {return strlen((char*)a) - strlen((char*)b);//升序//return strlen((char*)b) - strlen((char*)a);//降序 }int main() {char arr[3][20] { hello world,yes,sir,dian ge zan ba };qsort(arr[0], 3, sizeof(arr[0]), cmp);int i 0;for (i 0; i 3; i)printf(%s\n, arr[i]);return 0; }3.2 对字符串大小排序 int cmp(const void* a, const void* b) {return strcmp((char*)a,(char*)b); }int main() {char arr[3][20] { hello world,yes,sir,dian ge zan ba };qsort(arr[0], 3, sizeof(arr[0]), cmp);int i 0;for (i 0; i 3; i)printf(%s\n, arr[i]);return 0; }4.对结构体排序 对下面结构体数据中的语文成绩进行降序排序 typedef struct a {char name[20];int Chinese;int Math;int English; }student;int cmp(const void* a, const void* b) {student* pa (student*)a;student* pb (student*)b;int num1 pa-Chinese;int num2 pb-Chinese;//return num1 - num2;//升序return num2 - num1;//降序 }int main() {student stu[4] { {zhang,66,77,88},{lisi,60,70,80},{wangwu,73,76,98},{xuer,88,89,95}};qsort(stu, 4, sizeof(student), cmp);int i 0;for (i 0; i 4; i){printf(%s\t, stu[i].name);printf(%d\t, stu[i].Chinese);printf(%d\t, stu[i].Math);printf(%d\n, stu[i].English);}return 0; }好了那么本篇博客就到此结束了如果你觉得本篇博客对你有些帮助可以给个大大的赞吗感谢看到这里我们下篇博客见❤️
http://www.hkea.cn/news/14420712/

相关文章:

  • 网站关键词的分类搭建网站的六个基本步骤流程
  • php网站的优点交互设计软件有哪些
  • pc 手机网站 微站淘宝推广平台有哪些
  • 怎么建公司免费网站企业网站建立意义何在
  • 网站建立失败的原因是陕西建设厅执业资格注册中心网站
  • 海淀网站制作举例说明
  • 政元软件做网站神马seo服务
  • 赤峰做网站的网络公司网页设计列表
  • 潍坊网站制作保定公司电话wordpress页面文章区别
  • 深圳外贸公司网站wordpress 最快的版本
  • 网站建设模块分析wordpress 插件 注入
  • 怎么做网站营销策划网站建设合作合同
  • 企业网站的形式有哪些分销系统开发多少费用
  • 网站权重转移做排名电商类网站模板
  • 河北精品网站建设flash html网站模板
  • 转业做网站的工具网站开发技术支持与保障
  • 房山富阳网站建设凡客优品家居
  • 广东智能网站建设质量保障郑州加盟做网站
  • ps软件下载官方网站为什么想做网站运营
  • 旅游网站项目评估中文域名注册费用
  • 在线一键扒站源码php青岛房价
  • 惠州中小企业网站制作净化科技网站建设
  • 网站系统修改不了怎么回事中国建设网官网网站
  • 网站 定制徐州市城乡建设局网站6
  • 网站建设中图片是什么意思成安县城乡建设规划局网站
  • 建设旅游网站的好处网站推广计划包含的主要内容
  • 北京网站建站系统平台培训学校网站模板
  • 常州外贸网站建设公司网站建设 的公司
  • 外贸网站建设哪家实惠邗江区网站建设套餐
  • 学校网站建设成功大型电商网站开发价格