自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 Linux操作系统:进程间通信

文章目录通信基本概念进程通信与进程独立进程间通信的目的进程间通信的分类进程数据交互:管道什么是管道匿名管道写端与读端建立匿名管道的函数最简单的进程间通信管道的四大特性管道的特点内核角度理解管道命名管道命名管道和匿名管道的区别如何创建命名管道管道实现服务端和客户端的通信管道和共享内存的区别先组织,再描述进程间通信相关接口ftok(获取唯一标识码)shmget(创建共享内存)shmctl(控制共享内存)shmat(将共享内存段与当前进程挂接)shmdt(将共享内存段与当前进程脱离)共享内存实现客户端和服务端的通

2021-08-21 23:34:07 374

原创 Linux操作系统:重定向和动静态库的自实现

文章目录shell重定向的实现动静态库的实现前言静态库动态库shell重定向的实现之前博主完成了一个简单的shell命令程序:点击这里但是这个函数是没有办法完成重定向功能的echo “hello world” > hello.txt当输入上述命令时,程序会发生报错。程序更新后 如下: void redirect(char* cmd) { int fd = -1; int redirect_count = 0; char* ptr = cmd; ch

2021-08-09 00:02:24 274

原创 Linux操作系统:IO基础详解(下)

文章目录缓冲行缓冲VS全缓冲缓冲区的另一问题何为重定向系统调用dup2的重定向磁盘物理结构逻辑结构文件系统理解文件系统inodeBlock group文件增删查改目录硬链接与软链接硬链接软链接链接数目静态库与动态库库的介绍静态库动态库头文件与库文件的关系缓冲行缓冲VS全缓冲C库函数写入显示器属于行缓冲,顾名思义,也就是遇到换行符’\n’就会立即刷新出去。C库函数写入文件时是全缓冲,也就是写满缓冲区才能刷新,如果发生重定向时(关闭1号文件)数据的缓冲方式就会由行缓冲变为全缓冲但是如果关闭1号文件

2021-08-08 17:42:57 374

原创 Linux操作系统:IO基础详解(上)

文章目录标准输入、输出和标准错误系统调用接口(write、read)open函数close函数read函数write函数具体案例文件描述符系统如何管理文件一切皆文件标准输入、输出和标准错误#include <stdio.h>#include <string.h>int main(){ FILE *fp = fopen("myfile", "w"); if(!fp){ printf("fopen error!\n");} const char *msg = "hel

2021-08-07 23:47:20 854

原创 Linux操作系统:简单shell的建立

文章目录简易shell预备知识实现myshell提示符获取命令行解析命令行建立子进程(fork)替换子进程(execvp)父进程等待子进程退出代码总结简易shell预备知识shell由标识为sh的方块代表,它随着时间的流逝从左向右移动。shell从用户读入字符串"ls"。shell建立一个新的进程,然后在那个进程中运行ls程序并等待那个进程结束。利用strtok解析命令行sep参数是个字符串,定义了用作分隔符的字符集合第一个参数指定一个字符串,它包含了0个或者多个由sep字符串中一个或者多个

2021-07-31 15:40:39 234

原创 Linux操作系统:进程创建、写时拷贝、进程控制

文章目录进程创建回顾fork再次理解fork写时拷贝进程控制进程终止进程终止退出场景进程退出的函数(_exit与exit)进程等待为什么子进程需要被等待等待进程的方法进程创建回顾fork 1 #include <stdio.h> 2 #include <unistd.h> 3 4 int main() 5 { 6 printf("fork之前的进程pid,child: %d, father: %d\n", getpid(), getppid());

2021-07-30 22:03:45 363

原创 Linux操作系统:进程(优先级、环境变量、地址空间)

文章目录优先级进程优先级的表示方式PRI与NI其他相关概念环境变量优先级优先级与权限是否一样?试想我们大学去教室占位,你有权去教室占位,这是你的权限,但是如果你去的晚了发现没有位置坐了,可能需要站着上课,这是因为你没有早到,也就是你的优先级不够(来的不够早)。再来说进程,当进程太多时,进程就需要被合理的管理,总不能谁都抢着去占用CPU,所以CPU分配资源的先后顺序就是进程的优先级在我们的计算机中肯定是进程数大于CPU的数量,也就是资源有限,但是人太过多了,这样优先级就显得至关重要,它可以让优先级高

2021-07-23 17:01:58 579 1

原创 Linux操作系统:操作系统与进程之fork、相关状态、僵尸进程

文章目录操作系统什么是操作系统操作系统如何管理系统调用和库函数概念为什么需要操作系统进程进程的概念如何管理进程一、描述二、PCB三、task_struct操作系统什么是操作系统操作系统(operation system,简称OS),简单来说就是一款纯正的“搞管理”的软件,不仅管理硬件,同时也管理软件与硬件交互,管理所有的软硬件资源为用户程序(应用程序)提供一个良好的执行环境操作系统主要包括一下两个:内核(进程管理,内存管理,文件管理,驱动管理)其他程序(例如函数库,shell程序等等)

2021-07-13 22:16:18 806 6

原创 C++:list的模拟实现

list的模拟实现#include <iostream>#include <assert.h>using namespace std;//按需实例化namespace MyList{ //结点 内部使用加__ //__list_node类名,__list_node<T>类型 template<class T> struct __list_node { T _data; __list_node<T>* _next;

2021-07-10 20:29:32 104

原创 C++:vector的模拟实现

文章目录一、vector的成员、构造、析构、迭代器的基本实现二、check_capacity、reserve方法check_capacity判断是否达到扩容条件reserve实现重新配置、元素移动、释放原空间分析使用memcpy进行拷贝会出现什么问题三、resize方法四、insert、push_back 增方法五、erase、pop_back删方法六、operator[] 改方法七、拷贝构造、赋值运算符重载vector最终代码一、vector的成员、构造、析构、迭代器的基本实现下图是vector的基本

2021-07-05 09:37:45 254 2

原创 C++:string的模拟实现(有助于提升编码能力)

文章目录关于string类C语言中的字符串stringstring的常用接口string类对象的构造string对象的容量操作string类对象的访问与遍历操作string类对象的修改操作string类非成员函数简洁版string类的模拟实现string类的传统写法string类的现代写法string类的模拟实现string类的定义、私有成员string类的迭代器、重载[]运算符关于string类C语言中的字符串C语言中,字符串是以‘\0’结尾的一些字符的集合,为了操作方便,C标准库提供了一些str系

2021-06-23 21:54:24 223 2

原创 C++:类与对象下篇

文章目录初始化列表概述哪些成员必须在初始化列表进行初始化初始化小题匿名对象隐式转换explicit关键字static成员初始化列表概述初始化列表:以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个数据成员列表由“成员变量”后面跟上一个放在括号中的“初值或表达式构成”class Date{public: Date(int year, int month, int day,int n)//这样写 :_year(year) ,_month(month) , _day(day

2021-06-17 16:58:53 151 2

原创 C++:默认函数练习——日期类项目的实现

文章目录一:前言二:布局三:实现1、默认成员函数实现(1)全缺省构造函数(2)拷贝构造函数(3)析构函数赋值运算符重载(1)日期 += 天数(2)日期 += 天数(3)日期 + 天数(4)日期 –= 天数(5)日期–天数(6)前置++和后置++(7)前置––和后置––2、比较运算符重载3、日期相减一:前言C++类和对象里面的默认成员函数,如构造函数,拷贝构造赋值重载这些问题虽然说是不难,但是想要写出一个标准的类还是具有一定挑战性的。而编写日期类是一个很好的练手项目此次的博客,为了更好的练习类与对象,完

2021-06-14 20:13:26 533 4

原创 C++:类与对象中篇

文章目录类的6个默认成员函数构造函数特性析构函数特征类的6个默认成员函数如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情况下都会生成下面六个默认函数。class Date {};默认成员函数就是,我们如果不写,编译器会自动生成一份,我们写了就用我们写的。有些情况编译器默认生成有问题,就需要我们自己写有些情况编译器生成的就可用,那么我们就不需要写了。构造函数构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证

2021-06-14 16:26:22 644

原创 C++:类与对象上篇

文章目录面向过程和面向对象初步认识类的引入类的定义类对象模型如何计算类对象的大小类对象的存储方式this 指针this 指针的引出this指针的特性this 指针的存放位置面向过程和面向对象初步认识C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。例如:设计一个外卖系统面向过程:关注-> 点餐,配餐,送餐面向对象:关注-> 用户,商家,骑手类的引入C语言

2021-06-13 17:32:29 164

原创 C++入门:引用的使用详解

文章目录引用引用概念引用特性常引用引用的应用场景传值、传引用效率比较引用和指针的区别引用引用概念引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。举一个简单的例子:比如:李逵,在家里叫做“铁牛”,在江湖上称为“黑旋风”。这里的铁牛和黑旋风都是李逵的别名,实际上指的是李逵本人。int& ra = a;//<====定义引用类型如下:可以看出b、c、d均为a的别名,且共用一个地址当a、b、c、d任

2021-06-13 14:31:47 221

原创 C语言:结构体的对齐问题

文章目录结构体内存对齐结构体的对齐规则对齐数存在的原因修改默认对齐数结构体内存对齐首先一些基本的结构体使用想必大家都比较了解,但是每一种结构体类型所占空间到底是多少,这可能就不是很了解,甚至不清楚了,下面就由博主详细为大家讲解一下:结构体的对齐规则第一个成员在与结构体变量偏移量为0的地址处。其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大

2021-06-11 22:00:50 372 8

原创 Linux操作系统:项目构建工具-make/Makefile

文章目录前言依赖关系和依赖方法简单的make/Makefile的使用多文件make/Makefile的使用总结前言对于一个大型项目,可能会涉及到很多文件,例如头文件,源文件等等。在VS中,我们只需在其设定的目录下,新建对应文件然后进行编写即可,就可以得到可执行文件exe。但是仅仅只是再IDE下可以,但是会在Linux环境下,怎么多文件编译、链接,这倒是个问题。VS作为一个集成开发环境,自然而然帮你做好了这一切,但是在Linux中,这些都是需要自己做的。而正因为做这些很麻烦,且不好理解,所以make,ma

2021-06-10 12:14:33 388 1

原创 Linux操作系统:gdb调试器详解

文章目录debug与release调试程序过程debug与release程序的发布方式有debug和release两种模式,release没有调试信息,不能进行调试,体积较小,debug携带调试信息,可以进行调试,但是文件较大。Linux中,使用gcc/g++编译的程序,默认使用的是release模式,所以就不能直接使用gdb进行调试。如果想要调试,必须在进行gcc/g++编译时,携带-g选项。如下,同一个文件分别使用debug(带-d的)和release,其中debug的文件大小明显大于rele

2021-06-09 23:04:09 399

原创 Linux操作系统:gcc编译器使用详解

文章目录gcc如何完成(1)预处理(进行宏替换)(2)编译(生成汇编)(3)汇编(生成机器可识别代码)(4)链接(生成可执行文件或库文件)重要概念:函数库gcc如何链接函数静态库与动态库file指令与ldd指令gcc如何完成格式: gcc [选项] [要编译的文件] [选项] [目标文件](1)预处理(进行宏替换)预处理功能主要包括宏定义,文件包含,条件编译,去注释等。预处理指令是以#号开头的代码行。实例: gcc –E hello.c –o hello.i选项-E,该选项的作用是让 gcc

2021-06-09 20:08:54 976

原创 Linux操作系统:vim编辑器常用命令

文章目录前言vim的基本概念vim的基本操作vim正常模式命令集(1)复制与粘贴(2)删除(3)光标移动和定位(4)撤销与反撤销vim底行模式命令集(1)查找(2)跨文件操作补充结束语前言博主之前使用的VS属于IDE,即集成开发环境,具体来说也就是编辑器、编译器以及调试器等等各种功能集成与一体的软件,可以在此软件上同时完成编辑、编译以及调试运行等多项功能,使用成本大幅降低。而在Linux当中编写各种编程语言,虽然也有集成的开发环境,但是为了深入理解计算机,简而言之为了学习!我们需要刻意的让集成环境分开

2021-06-09 16:25:08 470

原创 Linux操作系统:详解Linux的权限问题

文章目录权限超级用户与普通用户Linux权限管理(1)文件访问者的分类(人)(2)文件类型和访问权限(事物属性)(3)文件权限值的表示方法(4)文件访问权限的相关设置方法(5)粘滞位权限超级用户与普通用户Linux下有两种用户:超级用户(root)、普通用户。超级用户:可以再Linux系统下做任何事情,不受限制。普通用户:在Linux下做有限的事情。超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。如何从普通用户切换到超级用户使用su命令,su [用户名],再输入用户所对应的

2021-06-06 20:24:06 721 2

原创 C语言数据结构——排序类算法

文章目录前言基于插入的排序算法直接插入排序希尔排序基于选择的排序算法直接选择排序堆排序冒泡排序分治类排序算法快速排序归并排序计数排序(非比较排序)前言这几天耗费了大量的时间去理清排序类算法的实现以及复杂度,对排序也算是略懂一二,下面博主就进行详细的介绍算法的思路与实现过程的代码。基于插入的排序算法这一类算法类似于,有序的整理扑克牌,将牌不断插入从而形成有序的牌堆。插入类排序与之类似,其主要分为直接插入排序以及衍生出来的希尔排序。直接插入排序使用最后一个元素与其数组其他元素通过遍历比较,找到需

2021-06-01 00:14:19 501 5

原创 C语言数据结构——二叉树的熟练掌握

前言如往常一样,实践是提升自身能力的重要一环,本博客主要以题目练习为主,从而达到提升代码能力的效果。二叉树与堆栈以及队列不同地方在于二叉树大部分都是由递归的方式来实现的,所以思路可能会稍稍比较绕,而且必须提前熟练掌握前序、中序、后序的遍历方式。好了,话不多说,直接开始咯!题目序号题目链接1单值二叉树LeetCode2二叉树最大深度LeetCode3翻转二叉树LeetCode4检查两颗树是否相同LeetCode5对称二叉树LeetCode

2021-05-25 17:10:01 356 3

原创 实践出真知——深入了解栈与队列

前言实践出真知,为进一步深入理解栈与队列,博主准备了四道例题来巩固栈与队列的知识,毕竟纸上得来终觉浅,实践是验证真理的唯一途径嘛,也是验证你学习成果的时候。题目序号题目链接1括号匹配问题LeetCode2用队列实现栈LeetCode3用栈实现队列LeetCode4设计循环队列LeetCode括号匹配问题 这个题目比较有意思的点在于可以用栈的方式进行实现,但是由于博主目前学习的数据结构主要是由c语言进行编写,所以在使用栈的时候需要引入栈的

2021-05-15 01:04:01 399 3

原创 C语言数据结构——栈和队列的实现

文章目录前言栈Stack.hStack.c队列Queue.hQueue.c结束语前言本文章主要是为下一篇的在线OJ题目做铺垫,因为仅仅用c语言做栈与队列的OJ题时需要自己造轮子,也就是自己编写栈或者队列的前提下完成题目代码的编写。栈(FIFO先进先出)的实现主要是用动态数组的形式构建,先进先出用数组再方便不过,只需要记录下标的值,初始为零,每次入栈加数据,下标加一,出栈的时候只需要将下标减一所对应的内容取出即可。队列(FILO先进后出)的实现主要是用不带头循环的单链表的形式构建,注意需要记录头结点与

2021-05-13 23:23:14 312

原创 C语言数据结构——带头双向循环链表的实现

文章目录前言双链表的实现DoubleList.hvoid ListPrint(ListNode* phead)ListNode* BuyListNode(LTDataType x)void InitList(ListNode** pphead)void ListPushBack(ListNode* phead, LTDataType x)void ListPopBack(ListNode* phead)void ListPushFront(ListNode* phead, LTDataType x)void

2021-05-09 20:50:32 417 3

原创 c语言数据结构——如何学好链表?教你一招(进阶)

前言这里属于单链表的一些进阶题目,如果之前题目都能熟练掌握的话,说明你单链表的代码能力基本问题是不大了,缺的只有做的的逻辑思路了,接下来博主会为大家再带来四道单链表的题目,帮助你在手撕代码的道路上更上一层!!!题目序号题目难度链接方法1环形链表中等LeetCode快慢双指针2复杂链表的拷贝中等LeetCode侵入式复制3链表的有序排序中等LeetCode哨兵位结点+插入4删除链表中重复结点中等牛客网三指针环形链表

2021-05-07 15:41:17 251 1

原创 c语言数据结构——如何学好链表?教你一招(初级)

前言其实很多编程语言都差不多的,编程无非就是语法的熟练运用,清晰逻辑思路以及各种极端情况的考虑。不过博主说“无非”二字有点太过轻巧,毕竟自个儿也才是一个半斤八两的小东西,但是既然是要写博客,那么底气就得拿出来。链表有个最重要的点就是需要有清晰的逻辑思路,那么该怎么做到呢?画图!!!画图!!!画图!!!,换句话来说只要你能够把逻辑思路用图的方式画出来,各种问题也就能够迎刃而解。说道问题问题,那么链表当然也逃离不了练习题目,说白了,想要提升一门技能的经验值,最快的方法也就是实践,多实践你才能真实的感受其中

2021-05-06 17:33:22 790 7

原创 一道常规求解方法无法完成的小例题

前言本以为c语言各种语法学好了就能够在例如LeetCode、牛客网以及实验楼等相关网站进行刷题,没想到在做一些简单题的时候就已经够我喝一壶的了。换句话来说,会语法并不代表你会各个题的解题思路、算法以及逻辑,也就是说会语法也仅仅是刚刚踏上手撕代码的第一步。路还很长,好好加油吧!LeetCode(例题)最近在Leetcode上面看到了一个比较有意思的题目: 989.数组形式的整数加法(可点击打开)。下面由博主为大家介绍与讲解(记得瞅瞅题目):我们常规的写法一般来说都是讲数组以整数的形式拿出来,比如A

2021-05-03 15:04:56 126

原创 error LNK2019: 无法解析的外部符号_SeqListPushBack,该符号在函数 _SeqListTest1 中被引用

文章目录c语言常见错误error LNK2019define_SeqList.hdefine_SeqList.ctest.cdefine_SeqList.h(改)test.c(改)c语言常见错误error LNK2019博主在用vs2013写一些工程项目的时候,常常会出现这样的错误,error LNK2019: 无法解析的外部符号 _SeqListPushBack,该符号在函数 _SeqListTest1 中被引用为什么会常常发生这样的错误呢?一般博主我写工程的时候,习惯把声明函数,以及在测试源文

2021-05-01 14:06:33 3334 5

原创 扫雷的实现(优化过后的,可进行展开)

文章目录前言扫雷优化版game.hgame.ctest.c前言经过我的挣扎,本来是不太想发的,因为本人能力较弱,挣扎了一下午才把优化的扫雷写出来,写完之后反而是一身疲惫,况且之前一直再写博客,消磨的精力实在是太多了,所以一时没有想发的欲望。不过为了给大家做一个小小参考(本人已经调试过程序,未发现错误),在这里也就发给小伙伴浏览阅读。有错误也请大家指正。另外啊,其实提高代码能力的方法是有的,就是要独立思考与编写,换句话来说就是,离开你的参考答案,自己独立编写出来。跟着代码写是有好处的,但是不够,完完全

2021-04-29 17:59:12 925 5

原创 常用字符串函数的使用与编写

文章目录前言常见字符串函数复制函数strcpy追加函数strcat比较函数strcmp源文件的查找可调字符串函数strncpystrncatstrncmp常见内存操作函数memcpymemmove前言emmmmm,写这段前言的目的是想让大家明白该如何独立的寻找各个函数的使用方法和说明,另外库函数的源文件的具体代码该如何检索。①.函数的使用方法和说明在前一个博客有说道一个个c/c++的官方网站,里面有各个函数的调用方法与具体介绍,甚至每个函数的example也都会列举出来,是一个在线查阅的好方法。

2021-04-28 17:08:49 434 4

原创 指针终章

文章目录回调函数回调函数回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。举个简单的例子供大家理解一下上代码int add(int x, int y){ return x + y;}int sub(int x, int y){ return x - y;}int m

2021-04-26 17:14:06 98

原创 指针的进阶(后半)

文章目录函数指针函数指针数组指向函数指针数组的指针结束语函数指针先看一段代码int Add(int x, int y){ return x + y;}int main(){ printf("%p\n", &Add); printf("%p\n", Add); return 0;}输出结果如下从上我们可以了解到其实函数名就是一个地址,所以用不用&的结果是一样的,但是地址该如何保存下来呢?这就涉及到函数指针了,看代码void test(){ pr

2021-04-25 21:47:37 1731 2

原创 指针的进阶(前半)

文章目录前言字符指针指针数组和数组指针指针数组数组指针前言柒柒写这篇博客的主要目的是为了达到一个复习的效果,以便加深自己的对指针的理解,所以各位小伙伴要阅读浏览的话,自身需要一定的基础才能明白,在这里柒柒在这里为大家推荐B站上的一位up主:比特鹏哥,他所讲述的内容非常仔细,客观来说是我目前学习C语言里面最好的一位up主。不过需要注意的一点是,大伙看的内容需要及时整理下来,以便加深印象,加深理解。所以CSDN可以说是一个相对较好的博客平台,你可以及时的将所学的内容进行归纳,(最重要的是,你应该把归纳的内

2021-04-25 16:39:18 126

原创 C语言基础经典案例:三子棋的实现(Tic_Tac_Toe)

文章目录三子棋game.hgame.ctest.c三子棋关于三子棋的实现,本案例一共用了两个源文件和一个头文件,即test.c、game.c和game.h。代码都做了相关的注释说明,可供大家参考game.h#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <time.h>#define ROW 3 //行#define COL 3 //列

2021-04-24 16:25:43 367

原创 数据在内存中的存储

文章目录数据在内存中的存储数据类型的介绍整形在内存中的存储浮点型在内存中的存储数据在内存中的存储数据类型的介绍整形:char //字符数据类型(1字节)unsigned charsigned charshort //短整型(2字节)unsigned short [int]signed short [int]int //整形(4字节)unsigned intsigned intlong //长整型(4字节)long long //(8字节)unsigned long

2021-04-23 21:49:54 274

原创 程序环境和预处理

前言emmmm,毕竟blog对于我来说是一个自由抒发情感的小天地,自然咱们的说话方式就要随意且通俗易懂。可以说我有一段时间没有去写blog了,一开始我认为博客写与不写对于个人的提升用处并不是很大,但是我回过头来看我之前所学的内容的话,我突然发现blog可以很好的帮助你复习。为什么这么说呢?其实很简单,因为你需要梳理你所学的知识,并把它清楚呈现在大众面前,这需要一定的耐心以及一定的文字表达能力,在这个过程中,你可以加深你对你所学知识的理解。O(∩_∩)O哈哈~,这也大概是我所想的吧。程序环境在我们的

2021-04-22 22:24:25 98 1

原创 近期状态

近期状态近期编程能力有了小幅度的提升。如下:查找下标值。#include <stdio.h>int main(){ int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int n = 0; int sz = sizeof(arr) / sizeof(arr[0]); int left = 0; int right = sz - 1; int mid = (left + right) / 2; while (scanf("%d",

2021-04-12 15:33:00 110

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除