![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 80
xzyii
这个作者很懒,什么都没留下…
展开
-
【C】经典例题
有一个矩阵,矩阵的每行从左到右、每列从上到下是递增的。在这样的矩阵中查找某个数字是否存在;要求时间复杂度小于O(N);for循环 逐个遍历二维数组 查找,但此时时间复杂度为O(N);利用杨氏矩阵的特点,每行每列递增;一次跨越一行或一列进行查找(那么若从右上角的元素开始找,右上角的这个元素是这行中最大的数,这列中最小的数;若要找的数k大于右上角的元素,那么右上角的元素既然已经是它所在行中最大的数,即它所在行中的数都比它小,那么这行中不可能出现k,则查找可以直接跳过这行,进入下一行;原创 2023-11-29 19:20:07 · 30 阅读 · 1 评论 -
【C】内存操作函数
3、考虑到复制的num字节数可能极小,可能为奇数,所以指针类型强转为char*最合适,力度最小最精细;此时强转已失效,dest为void*类型,void*类型指针不能进行指针运算++;若想将{ 1,2,3,4,5 }拷贝到{ 3,4,5,6,7 }处,此时内存重叠;2、dest原创 2023-11-20 19:39:49 · 22 阅读 · 1 评论 -
【C】字符串函数
指向str2指定的的字符串,在str1指定的字符串中,第一次出现的位置(返回的是指针),若不存在返回空指针(简单来说就是在arr1字符串中找arr2字符串第一次出现的位置);(1)字符串存放在字符数组中,arr[0]='a',arr[3]='\0',在字符串末尾自动添加字符串结束标志'\0';追加时,源字符串个数小于num时,用'\0'替代,但只一个'\0',不完全补够'\0';若字符串无结束标志'\0',函数会一直往后找,直到遇到'\0',此时返回的是随机值;源字符串必须以 '\0' 结束;原创 2023-11-04 10:58:38 · 49 阅读 · 1 评论 -
【C】qsort 指针进阶
回调函数;qsort库函数;模仿qsort的功能,实现一个通用的冒泡排序;原创 2023-09-23 11:21:08 · 31 阅读 · 1 评论 -
操作符详解(一)
两个整数进行位操作,若对应补码二进制位都是1,则位操作后的二进制序列对应位是1;若含有0,则为0(有0则0,都为1才1)两个整数进行按位或操作,若对应的二进制为有1,则位操作后的二进制序列对应位是1;若同时为0,则为0(有1则1,没1则0)(1)不在于存储到什么类型中,在于本身计算结果:7/2结果为3,将整型3存储到浮点类型中,转换为3.0。3、负整数:首位符号位为1,原码变反码,符号位不变,其他位按位取反;(3)取模操作符的应用:剥离整数的每一位:例123,剥离每一位,1,2,3。操作符必须为两个整数。原创 2023-05-17 16:22:58 · 59 阅读 · 0 评论 -
scanf在vs中返回值被忽略报错
3、一劳永逸的办法:在newc++file.cpp文件中添加一次,后续新建项目不用再次添加。在vs编译器中,使用scanf返回值被忽略,有安全问题。,每次新建项目都需要手动添加。函数来代替’scanf‘原创 2023-04-04 21:16:41 · 183 阅读 · 1 评论