![](https://img-blog.csdnimg.cn/b5452252f4ba4210a68b318eafc4e7e7.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
debug
将刷题过程中遇到的问题记录下来,发布到技术论坛,不仅可以帮助遇到同样困难的小伙伴,还能让自己以后温习,避免错误再犯。
杨墨阳
自我塑造
展开
-
使用自增运算符++犯错
一、问题描述在力扣刷题,报栈溢出错误,代码如下:class Solution {//冒泡排序public: int heightChecker(vector<int>& heights) { //往前冒往后冒都可以,这里选择往后冒,标记已经冒泡的边界前一个位置 //两个冒泡计数器 int left,right; //数组长度 int len = heights.size();原创 2022-05-17 11:24:28 · 112 阅读 · 0 评论 -
调试台显示xxx.exe(进程xxx)已退出,代码为0
一、解释首先,这个不是错误,这是正常显示!通常,程序运行都会提示你“代码为xxx”。对应了相应程序运行情况,是成功还是遇到了错误,根据相应错误也便于修改程序。可以复制这句话到网上搜索,都有详细的文章。xxx.exe 是你的代码文件。进程 xxx 是系统分配的。只要记住,显示代码为 0 就是没有错误。二、更改(1)工具:(2)选项:(3)调试:(4)勾选这个:但是注意,勾选后就会导致程序运行成功后直接关闭小黑框,也就看不到结果了,所以要在主函数结束.原创 2022-05-10 14:01:40 · 17572 阅读 · 2 评论 -
数组下表访问越界导致溢出2
一、问题描述数组下标访问越界。错误的代码: //双定位变量 int p0 = 0,p1 = 0; //遍历计数器 int i; for(i = 0;i < nums.size();++i) { if(nums[i] == 0) { swap(nums[i],nums[p0]); if(原创 2022-05-07 14:04:25 · 396 阅读 · 0 评论 -
动态开辟内存vs溢出报错
一、问题描述在 vs 使用 malloc 和 new 开辟连续空间时,出现警告:子表达式可能溢出。使用普通数组时没问题。抓耳挠腮了一下午,在网上也没办法搜到对应原因或解决的方法,后来在晚上干泡面的时候突然灵感一发,然后就解决了,具体看下面。二、问题分析① malloc 和 new 是在堆区开辟空间。②普通数组空间编译系统在栈区分配。③堆区由我们操作。基于以上三点,所以我想到是不是 vs 的权限问题导致报错。随即,我在 vs 中手动设置了堆保留大小,然后就没报错了。三、原创 2022-05-03 22:09:46 · 2546 阅读 · 1 评论 -
数组下标访问越界导致溢出1
一、问题描述 runtime error: addition of unsigned offset to 0x603000000010 overflowed to 0x60300000000c (stl_vector.h)意思是:运行时错误:将无符号偏移量添加到 0x603000000010 溢出到 0x60300000000c (stl_vector.h)提示溢出,所以我考虑到数组访问问题。错误代码:int i,j,tmp;for(i = 1;i < nums.s原创 2022-05-02 10:52:32 · 1618 阅读 · 0 评论 -
区分sizeof和size和length
一、问题①在leetcode中使用sizeof计算数组长度执行不通过,在自己vs中可以②在leetcode中使用nums.size()计算数组长度执行通过,在自己vs不可以③使用题目提示的n = length编译不通过,在自己vs也不可以二、原因leetcode使用的是容器形参,我自己vs定义没有使用容器vector,而是使用数组①sizeof用来计算基本数据类型,如:int arr[5];char arr2[] = "asdfg";char arr3[100] = "as原创 2022-05-01 21:38:53 · 1365 阅读 · 0 评论