网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月27日
漏签
0
天
c语言吧
关注:
793,371
贴子:
4,316,010
看贴
图片
吧主推荐
视频
游戏
1
2
下一页
尾页
20
回复贴,共
2
页
,跳到
页
确定
<<返回c语言吧
>0< 加载中...
数组长度不是不能修改的吗,为什么我在末尾再加两个字符(\0已
只看楼主
收藏
回复
梦舞灬轻愁、
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
数组长度不是不能修改的吗,为什么我在末尾再加两个字符(\0已经覆盖了),还是可以正常输出,没有\0它是怎么知道字符串结束了
梦舞灬轻愁、
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
应该是这张图
夸克
c语言
程序设计第五版答案完整版_各个学习阶段的相关学习内容夸克APP都有!
2024-09-27 08:44
广告
立即查看
梦舞灬轻愁、
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我是从这个题目发现这个问题的,程序里s就5个有效字符,最后运行puts(s)为什么能输出7个有效字符
無所谓的青春
低能力者
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
C语言没\0也可以输出的,然后这个puts是获取一行字符串么,要是应该是先\n,还有你这个s[6]越界了,
kjrjrjrlkfirkk
便当
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我的是乱码string11>|������*}�U
*** stack smashing detected ***: <unknown> terminated
Aborted (core dumped)
kjrjrjrlkfirkk
便当
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
编译器gcc
kjrjrjrlkfirkk
便当
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这样搞很危险吧,万一旁边没给你分配的是操作系统的内存,你一写那不完蛋。开玩笑的,操作系统内存应该是只读的,搞不好读权限都没有。你可以多搞几组使一下,那片地址的后面搞不好恰好就是-1。
kjrjrjrlkfirkk
便当
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
根据我多次实验,每次多输出的乱码都不会太长,也就是说0值在内存中普遍存在,所以瞎猫碰上死耗子的几率还是有的。这应该是内存的自动保护机制。
梦舞灬轻愁、
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
@kjrjrjrlkfirkk
这题也超过长度了,我试的全都可以
你给我果賴
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
刚刚好
fx2422esplus
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
计算机分了6个字节给你,下标0到5,正常情况下,下标5里内容是\0。但是下标6的位置也是内存,只是没有分配给你。编译器是默认你不会改6的位置的,而且并没有采取防止你改它的措施,要靠你自觉。同时,puts这个函数可没有闲工夫去管你6号位置有没有分配给你,读了5号,发现了d,就打印出来了,然后读6号,发现了e,也打印出来了。再然后读7号,很可能7号位置本来就放着一个\0,你的程序没有改它,于是就还是\0。puts发现了\0,就停止输出了。
但是数组越界是很危险的事,所以不要这么干。
fx2422esplus
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
像puts这样的函数,结束打印的标准是读到\0,它并不知道这个数组都经历了什么。
竹溪里仁
彩虹面包
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
数组已经越界了,原因是C不进行这种检查。有些其他语言会检查,有的编译时检查,也可能是运行时检查
辛I哲人
彩虹面包
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这样结果是不确定的,取决于具体实现。
至于lz为什么测试都正常,可能是你的程序太简单。
还有一种可能是,操作系统按照字长64位8个字节来分配存储,你定义的数组“china”只有6个字节,然而实际为了优化速度可能给你分配了8个字节,所以越界2个还没问题。
试试多写点。比如紧接着在下面定义另一个数组,再越界访问试试。
醴曩
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
运气,c语言越界本来就是允许的,这叫相信程序员
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示