当前位置:  技术问答>linux和unix

为什么没有数组越界?

    来源: 互联网  发布时间:2016-03-13

    本文导语:  #include #include char *strcy(char *strDest, char *strSrc) { char *head = strDest; while(*strDest++ != ''); strDest--; while(*strDest++ = *strSrc++); strDest =  head; return head; } int main(int argc, char *argv[ ]) { char str1[ ] = "hello"; char str2[...

#include
#include
char *strcy(char *strDest, char *strSrc)
{
char *head = strDest;
while(*strDest++ != '');
strDest--;
while(*strDest++ = *strSrc++);
strDest =  head;
return head;
}
int main(int argc, char *argv[ ])
{
char str1[ ] = "hello";
char str2[ ] = "word!!!";
printf("%d,  %sn", sizeof(str1), str1);
printf("%sn", strcy(str1, str2));
printf("%d,  %sn",sizeof(str1),str1);
}
我用的是GCC和VC实验过 VC有打印有乱码,GCC打印为:
6,  hello
helloword!!!
6,  helloword!!!
就算数组不越界,那数组的大小为什么也没有改变?
望高人指点。

|
越界,不是看结果是什么,而是看一个数组是不是使用了不属于它的空间,如果是,那么你只能看运气了,可能结果是对的,可是这样的结果没有意义,因为你不能象买彩票那样只靠运气来得到结果。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Bitsets 成员 none():如果没有位被设置则返回true
  • linux没有lilo命令阿,是不是表示没有 相关套件?我的下载吗,也没有RPM这个 命令,我该如何搞定他们出来
  • C++ I/O 成员 good():如果没有出现过错误则返回true
  • 请问:我发现我的系统里什么都没有啊,gcc没有,rpm也没有,这怎么办啊
  • 我重装了winme,却进不了Linux了,而我现在又没有Linux光盘,也没有Linux启动盘,还有没有办法?
  • linux 下 没有aptitude,也没有 apt-get。
  • 有没有哪位知道linux下有没有什么可视聊天的工具
  • 求救!!安装redhat后,提示重启,但是没有没有redhat的启动选项
  • 请问:编译内核时,make bzimage命令后,提示没有这个规则,这有没有影响呀?
  • 有没有搞错,JSP精华版数据全部没有了。
  • 我想在VMware上装FreeBSD,有没有人这样做过?有什么问题没有?
  • 我没有软驱,也没有LINUX的光盘,如何安装LINUX?
  • /目录没有可用空间了,且没有可删除文件了,能否扩容,怎样扩容?
  • 怎么判断一个表中没有没有记录呀?
  • 请问各位谁知道JBuilder7的注册解密方法,我没有序列号,也没有解密文件
  • 我安装了cygwin,可是根本做不了什么工作,里面没有vi,没有gcc,怎么会这样?
  • 请问为什么JSDK装好后,没有LIB子目录,也没有jsdk.jar,谢谢!
  • [AIX]有没有办法查到有没有用户执行了Kill命令
  • linux里有没有象vc那样的IDe啊,有没有类库什么的呢
  • 上ADSL时的问题,输入:adsl-start没有反应,也没有提示!!!!!
  • 在redhat8.0下如何配声卡。没有sndconfig命令。setup中也没有sound configration。怎么办?<0b>


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,