c指针溢出问题
刚刚那个怎么被结贴了啊,那我来开个吧。
C/C++ code:
char a='s';
char str[8]="Hello123";
printf("%c", a); //还是S,为什么?
printf("\n%08X %08X\n",&a,&str[8]); //输出一样的地址
上面Hello123后面不是还有'\0',为什么不把a里面的值给挤掉?
char str[8]="Hello123";
你规定了数组大小呀,把数组大小去掉试试
LZ用什么编译器编译通过的?
没问题啊,我不是结果都贴出来了。
用vc编译的
我就是想看看溢出的时候什么样子的。
&str[8]越界了
没看清出lz的问题,a和str[8]的空间分布由编译器决定,实际上有时编译器的优化会让debug版本和release版本的空间分布不一样。
如果想深入了解编译器的话,可以看一下编译方面的书籍,讨论这个问题由于要考虑多个平台以及优化机制的不同,不建议深入。
知道,我就是想问为什么数组后面的'\0'不会把a里面的值清掉。
在调试窗口里面打开汇编代码看一下不就什么都明白了吗?
相关问答:
以前在VC里面建一个工程,都只用一个 .c 文件,昨天在一个工程里用了两个 .c文件了,遇到问题了,请大家指点。比如:
File1.c Fil ......
单链表中各结点存放一个数,请按升序排列
谢谢 各位大虾
本人初学数据结构 希望大虾帮一下 入门
这个很简单的啊,你可以建立一个辅助链表,每次找链表中最小的数的节点插入到新链表中,自己尝试写下,不难的
......
下面是我写的关于高斯列主消元法的C程序实现方法。但是求解结果始终不正确啊!检查很久了,还是检查不出来,麻烦哪位大哥给指点下吧!先O(∩_∩)O谢谢了!
程序代码:
C/C++ code:
#include <stdio.h ......