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

微网站定制近期军事新闻事件

微网站定制,近期军事新闻事件,雄安做网站优化的公司,帝国cms更改网站ico目录 1.C语言快速排序的库函数 1.使用qsort函数前先包含头文件 2.qsort的四个参数 3.qsort函数使用 对int类型的数据排序 运行结果 对char类型的数据排序 运行结果 对浮点型数据排序 运行结果 2.题外话:函数名的本质 1.C语言快速排序的库函数 cplusplus网的介绍 ht…目录 1.C语言快速排序的库函数 1.使用qsort函数前先包含头文件 2.qsort的四个参数 3.qsort函数使用 对int类型的数据排序 运行结果 对char类型的数据排序 运行结果 对浮点型数据排序 运行结果 2.题外话:函数名的本质 1.C语言快速排序的库函数 cplusplus网的介绍 https://legacy.cplusplus.com/reference/cstdlib/qsort/?kwqsort 解释: 1.使用qsort函数前先包含头文件stdlib.h 2.qsort的四个参数 base:指向要排序的数组(即数组名) num:数组元素的个数(类型size_t) size:每个元素所占的空间(类型size_t) compare:比较函数,用于比较数组的两个元素(这个参数有点特殊,之前没有见过:函数本身也可以作为另一个函数的参数) 函数没有返回值(void类型) 网站给出比较函数应该遵照的原型:int compar (const void* p1, const void* p2); 注意到比较函数的返回类型为int(显然有三种情况,负数,0和正数) 负数0正数*p1*p2*p1*p2 *p1*p2 网站给出比较函数的写法 int compareMyType (const void * a, const void * b) {if ( *(MyType*)a *(MyType*)b ) return -1;if ( *(MyType*)a *(MyType*)b ) return 0;if ( *(MyType*)a *(MyType*)b ) return 1; } 由于a是void*类型的,使用前应该强制类型转换为MyType类型,之后再解引用 3.qsort函数使用 对int类型的数据排序 #include stdlib.h int compare(const void* a, const void* b) {if (*(int*)a *(int*)b) return -1;if (*(int*)a *(int*)b) return 0;if (*(int*)a *(int*)b) return 1; }int main() {int arr[] { 3,5,1,6,2,3,9,0,8 };printf(排序前:);PrintArray(arr, sizeof(arr) / sizeof(arr[0]));qsort(arr, sizeof(arr) / sizeof(arr[0]), sizeof(int), compare);printf(排序后:);PrintArray(arr, sizeof(arr) / sizeof(arr[0]));return 0; } 备注:如果要排降序,compare函数有两种改法①将compare的返回值-1和1交换即可 ②或者将和交换 运行结果 对char类型的数据排序 #include stdio.h #include stdlib.h #include string.h int compare(const void* a, const void* b) {if (*(char*)a *(char*)b) return -1;if (*(char*)a *(char*)b) return 0;if (*(char*)a *(char*)b) return 1; }int main() {char arr[] { aoxhfekmc};printf(排序前:);printf(%s, arr);qsort(arr, sizeof(arr) / sizeof(arr[0])-1, sizeof(char), compare);printf(\n排序后:);printf(%s, arr);return 0; } 运行结果 对浮点型数据排序 #include stdio.h #include stdlib.h #include string.h int compare(const void* a, const void* b) {if (*(float*)a *(float*)b) return -1;if (*(float*)a *(float*)b) return 0;if (*(float*)a *(float*)b) return 1; }int main() {float arr[] { 3.1,5.4,7.9,10.31,6.66,1.1,0.9 };printf(排序前:);for (int i 0;i sizeof(arr) / sizeof(arr[0]); i)printf(%.2f , arr[i]);qsort(arr, sizeof(arr) / sizeof(arr[0]), sizeof(float), compare);printf(\n排序后:);for (int i 0; i sizeof(arr) / sizeof(arr[0]); i)printf(%.2f , arr[i]);return 0; } 运行结果 2.题外话:函数名的本质 在解释qsort函数的时候提到了函数本身也可以作为另一个函数的参数 测试以下代码,下断点至return 0;然后执行到断点处 #include stdio.h #include stdlib.h int compare(const void* a, const void* b) {if (*(float*)a *(float*)b) return -1;if (*(float*)a *(float*)b) return 0;if (*(float*)a *(float*)b) return 1; }int main() {printf(%p, compare);return 0; } 查看打印结果 在内存窗口中输入0x00C613FC后发现内存窗口直接跳到了0x00C61900;转到反汇编,查看compare函数的第一个指令的机器码和地址 因此函数名的本质是地址,其指向函数反汇编的第一条指令
http://www.tj-hxxt.cn/news/130284.html

相关文章:

  • 河北建设厅网站查询做网站不推广
  • 商丘网站制作推广珠海网站建设王道下拉惠
  • 深圳盐田住房和建设局网站谁帮58同城做的网站吗
  • 该网站正在建设高校门户网站源码
  • 企业文化墙设计网站推荐wordpress 支持软件
  • 多配色创意metro风格企业网站织梦模板ppt模板免费下载整套
  • 公司网站设计定制品牌建设的概念
  • 做网站电子版报价模板新闻 最新消息
  • 有哪些tp5做的网站网站建设开发教程视频
  • 电商网站seo优化目标分解个人社保缴费比例是多少
  • 建站宝盒合作网站手机版如何制作
  • 南宁在那里推广网站免费查公司
  • 建一个网站的步骤宁波seo怎么推广
  • 网站获得流量最好的方法是什么 ( )成都模板建站代理
  • 小企业网站建设哪些好办网址域名查询网
  • 企业建设网站的帮助资源平台如何建设网站
  • 建站软件免费版下载做网站的用多少钱
  • 建设部网站 技术规范wordpress 登录可见
  • 谷歌云可以做网站吗怎么做qq钓鱼网站
  • 专门做活动的网站wordpress用别人主题
  • 网站开发和平台开发深圳十大平面设计公司
  • 网站没有排名个人网站icp备案
  • 深圳app网站建设哪家好西安seo外包
  • 应该怎样做网站地图黄页88推广多少钱一年
  • php网站开发需求文档企业所得税交多少
  • 高端网站建设 骆青岛做网站公司电话
  • 保定制作网站软件做网站加模块
  • 网站建设计划书模板那种直播软件从哪里下载
  • 外贸网站建设关键点爱搜索中级网站建设
  • 包工头接活网站app网页制作学什么东西