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

怎样建立门户网站如何搭建一个app

怎样建立门户网站,如何搭建一个app,站长之家网站排行榜,深圳哪家网站建设大家好#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.zqtcl.cn/news/560900/

相关文章:

  • 各学院二级网站建设通报wordpress注册评论
  • 南通公司做网站无人在线完整免费高清观看
  • 廊坊网站推广局域网网站建设的步骤过程
  • 如何在工信部网站注册简易网页设计代码
  • 做石油系统的公司网站做艺术品展览的网站
  • 枣庄公司网站建设珠海蓝迪装饰设计工程有限公司
  • 广州企业网站营销电话成都网站建设制作设计
  • 求个网站带图片素材域名及密码登录域名管理网站
  • 文交所网站开发wordpress页面编辑插件
  • 丹徒网站建设价格做矿产公司的网站
  • 北京的制作网站的公司在哪里软件程序员
  • 企业网站怎么扣费的网站建设合同的性质
  • 聚美优品一个专注于做特价的网站如何制作个人网页兼职
  • 滨州做网站的公司最好wordpress主题
  • 福州网站设计软件公司dw网站开发流程
  • 合肥网站搭建公司哪家好深圳二维码网站建设
  • 东莞微信网站开发免费html模板素材网站
  • 海淀专业企业网站建设青岛平面设计公司
  • 北京正规网站建设比较wordpress cookies因预料之外的输出被阻止
  • 自助微信网站设计什么叫一级域名二级域名
  • 上海 顶尖 网站设计wordpress多站点不同主题
  • asp c 网站开发wordpress 动静分离
  • 服装网站建设规定wordpress禁止自动升级
  • 如何在网站上做社交的链接毕设给学校做网站
  • 网页设计与网站建设指标点您身边的网站建设顾问
  • 个人网站的制作广州网站优化招聘
  • 做网站产生的流量费怎么算软件开发前景和收入
  • 网站空间 .de单页型网站
  • 网站建设com品牌建设的作用
  • 优质作文网站柳州做网站去哪家公司好