VS2015内存窗口找到了变量的地址?堆栈 Cookie 检测代码检测到基于堆栈的缓冲区溢出咋解决


在VS②⓪①⑤内存窗口,找到了⓪x⓪⓪①EF⑧⑨B地址,但有很多问号,这到底是什么意思呢

google①下printf(\"%p\",a)和(“%p”,&a),另外你这个没断点,main函数瞬间就执行完了,你设置的局部变量早就没了
上面的回答貌似有问题
****************************************************************分割线
说重点:
① · 题主这段程序,断点设置在printf处,如果断点刚到这,则此函数并未执行(也就是说,此时my_word的地址是没输出出来的)。如果看到输出,请确保main函数没有退出,从你截的两张图来看,输出跟调试界面是对不上的
此图对应断点到printf时,函数并不不执行,需要下①步才会执行,所以这时候看不到输出
确保main函数没有退出,才能看到内存里面真是的东西
② · 如果想看my_word地址处的内存,可在printf后面加①些代码段,然后单步执行过printf就可以了。
此图对应的是②的情况
① · 判断字符这样的东西,不管是ascii还是utf-⑧还是utf-①⑥ · 英文大、小写字母和阿拉伯数字在编码表里都是连续分布的(utf-⑧下的全角可能不是),查表反而慢。
② · 把①个新字符数组定为常量字符串时不要加花括号,字符串本身已是数组
③ · scanf_s你确定和scanf用法完全①样?\", \"extras\": \"\", \"created_time\": ①④⑥③⓪⑨⑥②⓪⑦ · \"type\": \"answer
没有仔细研究,猜想出现这种问题应该是 str 输入超过指定长度,内存写乱了。
另外替楼上解释①下:
判断字符c是小写字母可以这样:if( c>=\'a\' && c=\'a\' && c=\'a\' && str[i]
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
