二维字符数组按行输出连续到下一行的解决办法

二维字符数组按行输出连续到下一行的解决办法

二维字符数组在按行进行输出的时候,会由于越界导致输出连续到下一行。如:
二维数组按行输出演示
同时出现了后续乱码问题,这个后面说。
如图,将"37"都copy到SNR[6]和SNR[7]中,输出SNR[6]的时候,会连续输出两个"37",先怀疑了输入输出重复的情况,重新设置然后测试:
设置不相同的字符
看到并不是输入输出重复的问题。考虑二维数组的排列性质:
二维数组
数组的地址是从首地址之后连续排列的,即如:a[0][1]后的下一个地址即为a[1][0]。

故考虑越界的问题,第二维的长度不满足加上’\0’字符后的行长度。将第二维长度扩大,变为3测试:

扩大二维长度后
可以看到,第二维长度扩大为3之后,输出正常了,乱码也不见了,猜测是由于输出字符串没有’\0’结束符,所以输出后续非正常码。

阿猪米德
2019.05.09于湖北武汉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值