- 博客(29)
- 收藏
- 关注
原创 C语言中将整数转化为字符串的几种方法
方法适用语言特点sprintfC简单,但可能缓冲区溢出snprintfC更安全,推荐C++最方便手动转换C仅用于学习推荐C语言snprintfC++
2025-03-31 18:50:44
238
原创 一维前缀和与二维前缀和的详细用法和介绍
一、一维前缀和 查询区间和 若查询区间([l,r])的和,可使用(s[r]-s[l - 1])。若(l == 0),则直接返回(s[r])。 代码实现: 示例 代码示例: 二、二维前缀和 查询子矩阵和 若查询子矩阵((x1,y1))到((x2,y2))的和,可使用(s[x2][y2]-s[x1 - 1][y2]-s[x2][y1 - 1]+s[x1 -
2025-03-22 18:49:36
728
原创 C语言中scanf(“%c“,&s)会出现的问题
跳过输入缓冲区中的所有空白字符(包括空格、制表符和换行符),直至遇到非空白字符。会读取输入缓冲区中的任何字符,包括空格和换行符,不像。的行为与输入缓冲区的内容密切相关。,这通常是因为输入缓冲区中残留了换行符(为避免换行符被读取,可在。那样自动跳过空白字符。
2025-03-12 20:27:45
270
原创 高精算法的用法及其优势
高精度问题核心是模拟手工计算过程,用数组或字符串存储数据,逐位处理进位、借位等操作。掌握基本操作后可进一步优化算法性能。突破标准数据类型的位数限制。灵活处理不同规模的数据。方便逐位操作,适合模拟手工计算。易于实现高精度运算。兼容字符串输入输出。节省存储空间。支持负数和小数。这些优势使数组或字符串成为解决高精度问题的理想之选。
2025-03-05 19:53:16
652
原创 平方表示以及指数表示法
在C语言中,平方和指数可以通过以下方式表示:使用乘法运算符 使用函数 注意事项 乘法运算符 适用于整数和浮点数,简单且高效。 函数 返回类型,适用于浮点数,但效率较低。 示例代码输出根据需求选择合适的方法。
2025-03-05 18:59:02
195
原创 几种详细的最大公约数的求法
辗转相除法:高效且常用,适用于大多数场景。更相减损法:简单但效率较低,适用于小规模数据。二进制算法:优化了辗转相除法,避免了取模运算。穷举法:简单直观,但效率最低,适用于教学或小规模数据。扩展欧几里得算法:不仅可以求最大公因数,还可以求解线性方程。根据具体需求选择合适的算法!
2025-02-27 19:14:33
490
原创 哈希表的详细介绍
哈希表是一种高效的数据结构,适用于需要快速查找、插入和删除的场景。其核心是哈希函数和冲突解决机制。通过合理设计哈希函数和选择合适的冲突解决方法,可以充分发挥哈希表的性能优势。
2025-02-27 18:56:04
473
原创 计算机移码中的偏置值的作用
移码的偏置值固定,用于将有符号数平移为无符号数。移码常用于浮点数阶码表示,便于比较和计算。借助偏置值,移码可统一表示负数、零和正数为无符号数。
2025-02-23 15:50:56
711
原创 【无标题】define定义中存在的问题(细节易忽略)
这是一个标准的宏定义,将MAX_SIZE定义为10000。在代码中使用MAX_SIZE时,编译器会将其替换为10000。这个宏定义存在问题:它多了一个分号;,导致宏展开时会在代码中引入多余的分号。例如,会被展开为,这是一个语法错误。代码宏定义展开结果是否合法合法非法。
2025-02-21 22:23:08
205
原创 C/C++中‘||’符号的用法(容易忽略其顺序的执行)
是检测内存错误(如缓冲区溢出、使用释放后的内存等)的强大工具。修复问题的关键是调整边界检查的顺序,确保不会访问非法内存。修复后的代码能够正确计算岛屿数量,并且不会触发堆缓冲区溢出错误。
2025-02-19 21:16:30
367
原创 C/C++语言中INT_MAX和INT_MIN的作用
INT_MAX和INT_MIN是C/C++中的常量,分别表示最大和最小整数,定义在头文件limits.h中。
2025-02-17 21:45:01
669
原创 编程中关于数组越界问题
在C/C++中,数组越界访问是常见错误,使用数组索引时必须检查边界。动态分配内存时,要在适当位置释放内存以避免内存泄漏。使用调试工具(如AddressSanitizer)有助于快速定位内存错误。
2025-02-11 21:40:26
375
原创 关于对程序中局部变量的理解
为什么int arrword[26] = {0};只在if语句中起作用呢?出了if语句就还原了呢?在提供的代码中,写在语句块里,这里实际上是重新定义了一个新的局部变量,它只在语句块的作用域内有效,出了这个语句块,这个新定义的就会被销毁,而继续使用的是函数开头定义的那个数组,这就是所谓的“只在语句中起作用,出了语句就还原”的原因,下面详细解释:在C语言里,变量的作用域决定了变量的可见性和生命周期。具体到你代码里的数组,涉及到两种不同的情况:这行代码在函数开头定义了一个名为的整型数组,它的作用域是整个函数
2025-02-10 21:56:45
265
原创 C语言中的continue语句详细用法
continue是C语言中的一种控制流语句,用于跳过当前循环迭代的剩余部分,直接进入下一次循环。它的主要作用是优化代码逻辑,避免不必要的计算或处理。使用时要注意避免死循环,并确保循环条件能够正常更新。
2025-02-06 19:56:30
464
原创 二级字符指针的用法
在字符串数组 char**strs = ["flower", "flow", "flight"]` 中,`strs[2][3]` 表示的是第三个字符串(`"flight"`)的第 4 个字符(因为索引从 0 开始)。- `strs[2][3]` 是 `"flight"` 的第 4 个字符。- `strs[2]` 是第三个字符串,即 `"flight"`。因此,`strs[2][3]` 代表的字母是 **`'g'`**。-strs[2][2]` 是 `'i'`-strs[2][3]` 是 `'g'`
2025-02-03 17:31:33
121
原创 建立链表的两种方式:头插与尾插
注意:无论是头插法还是尾插法都得先创建一个结点,其中头插创建的第一个节点始终在第一个位置,尾插创建的第一个节点始终在最后一个位置。
2025-01-04 16:33:07
216
原创 不同字符ASCLL码范围,以及用程序打印不同字符
扩展的ASCII字符满足了对更多字符的需求,包含ASCII中已有的128个字符,又增加了128个字符,总共是256个。然而,许多语言还是包含无法压缩到256个字符中的符号,因此出现了一些ASCII的变体来囊括地区性字符和符号。这个程序会从0到127遍历ASCII码值,并打印出对应的字符。注意,ASCII码值为0-31的字符是非打印字符,无法显示或打印出来。标点符号和特殊字符:如空格(32)、感叹号(33)、@(64)、`(96)等[1][2][4]扩展ASCII字符(128-255)
2024-12-09 21:11:44
231
原创 求质数的几种方式(详细过程)
这里再用严谨的数学逻辑推导一下。这里再用严谨的数学逻辑推导一下。这里再用严谨的数学逻辑推导一下。这一小段代码详细解释一下。
2024-12-04 20:52:00
1080
原创 对复杂递归程序的分析
/ 如果二叉树为空(T为NULL),返回0,表示树的深度为0。// 返回左子树和右子树深度中的较大值加1,即为整棵树的深度。以下代码求二叉树的深度,看起来代码简单,理解其递归原理,实则一点也不容易。// 递归计算左子树的深度。// 递归计算右子树的深度。// 返回左右子树深度较大值。// 二叉树为空时深度为0。// 先计算左子树深度。// 再计算右子树深度。一步步分析,好好揣摩,必有收获。同理分析以下代码,供读者练脑。所以这棵二叉树的深度为。
2024-11-30 21:20:27
769
原创 建立先序二叉树为什么不用中序辅助呢?而中序建立需要先序或后序辅助,而后序建立需要中序辅助
但是,如果我们有先序遍历序列 [1, 2, 4, 5, 3, 6, 7],我们就可以确定根节点是 1,然后在中序遍历序列中找到 1 的位置,从而确定 4, 2, 5 是左子树的节点,6, 3, 7 是右子树的节点。通过先序或后序遍历序列,我们可以确定根节点的位置,然后在中序遍历序列中找到根节点的位置,从而划分出左子树和右子树的节点集合。中序遍历的顺序是左子树 - 根节点 - 右子树,仅通过中序遍历序列,我们无法确定哪些节点是左子树的节点,哪些是右子树的节点,以及根节点的位置。
2024-11-26 09:22:10
905
4
原创 我迷了,为什头文件中注释处代码中的max,显示未定义呢,而没有注释的max显示定义50成功
///{////}list;//////#endifint length;} list;#endif。
2024-10-28 22:42:54
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人