2条回答 默认 最新
- 高级系统分析师苏晋 2021-08-29 10:20关注
c 里面的 string 是用 \0 做结尾
你定义了 char 20 个,可接收最多 19 char 留一个给 \0
但如只输入 test 4 个 char 实际只用了 char 20 里的 5 个
而 6-20 就是内存里的不明值
因为你没有任何额外处
而你又固定把 char 20 都打印出来
所以有一堆6-20不明值也打印出来reakpoint 2, main () at ten.c:20 20 for(i=0; i<5; i++) { (gdb) p s $2 = {"test001\ntest002\ntest", "003\ntest004\ntest005\n", "test003\000\246\343\377\377\377\177\000\000\215TUU", "test004\000\377\177\000\000@TUUUU\000", "test005\000`QUUUU\000\000\260\344\377\377"} (gdb)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
- ¥100 为什么这个恒流源电路不能恒流?
- ¥15 有偿求跨组件数据流路径图
- ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
- ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
- ¥15 CSAPPattacklab
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器