为了账号安全,请及时绑定邮箱和手机立即绑定

初学者不会,求大神指点指点

例 4    

char s1[10]="hello  "

char s2[]= "world"

strcat(s1,s2);

printf("%s\n,s1");

不是说内存空间不能重叠且内存空间不能重叠,且s1要有足够的空间来容纳要辅助的字符串

  hello*(*代表空格)+world 长度不就有11了吗?

正在回答

4 回答

亲,不是的,是class类名为first的p标签,所以不能加入空格。

bkywitsuqtxlatcasmaefnhbvyctwdkfxcmdpjwicueoagyixquupyudryxqkjqcm

0 回复 有任何疑惑可以回复我~

这样运行可以生成成功,但最后也会提示您程序中的问题,最后输出的是null。

http://img1.sycdn.imooc.com//58100f8f0001112709320649.jpg

0 回复 有任何疑惑可以回复我~

不行的,楼主可能是讲解的图和结果搭配错误,这样运行会报错可能就是越界了http://img1.sycdn.imooc.com//57ab53cf0001112706730495.jpg

0 回复 有任何疑惑可以回复我~

正常,越界后只是行为不确定(可能没事,可能结果错误,可能程序崩溃,。。。),不代表一定会死。

如果越界后的那里没有储存其他的,那么久可能输出来

1 回复 有任何疑惑可以回复我~
#1

果爱上了然

真是这样的吗,我怎么觉得字符数组是不允许越界的啊,越界就会自动丢弃,如果是定义的指针倒是有自动往后扩充的可能
2016-08-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926018    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

初学者不会,求大神指点指点

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信