当前位置: 首页 > 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/14376189/

相关文章:

  • 隧道建设网站无法登录美橙互联网站打不开
  • 网站后台 网站页面没有显示山西城乡和住房建设厅网站首页
  • 做网站要学会什么语言wordpress导航站的源码
  • 南充网站建设费用wordpress第三方评论
  • 招聘网站做销售怎么样要个网站
  • wordpress建公司网站wordpress 评论登陆
  • 蛋糕店网站设计模板自己做的网站怎么让别人能访问
  • 西宁网站建设最好的公司音乐网页设计材料加字加图片
  • 2003访问网站提示输入用户名密码公众号小程序制作步骤
  • 做网站开发的公司销售百度投放广告平台
  • dedecms两网站共享用户名网站备案提交管局
  • 高新区网站建设的建议可视化开发工具推荐
  • 网站的规划与建设 按时间顺序免费百度网站建设
  • 网站建设对于网络营销的意义九江有限公司
  • 响应式网站 html做销售网站那家好
  • 有没有专业做网站架构图的软件百度竞价员
  • 有名的网站建设电话如何修改响应式网站模板
  • 手机在线做ppt模板下载网站有哪些无锡梅村网站建设
  • 杭州市城乡建设网站传统网站设计的缺点
  • 企业宣传网站建设需求说明书的模板网站建设与管理模拟试卷一
  • 淮滨网站建设建站模板网站
  • 大型网站开发案例番禺网站建设系统
  • 西安网站建设行业动态菠菜网站怎么做
  • 深圳高端网站制作多少钱平台网站怎么做seo
  • 做原型的网站网站建设图片
  • 园林效果图网站dedecms做的网站首页被挂马
  • c2c网站建设要多少钱中国文化网站建设策划书
  • 前端网站开发培训网站建设都需要
  • h5制作的炫酷个人网站一个月做网站
  • 河南 医院 网站建设在网站上上传文件需要怎么做