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 多址通信方式的抗噪声性能和系统容量对比
- ¥15 winform的chart曲线生成时有凸起
- ¥15 msix packaging tool打包问题
- ¥15 finalshell节点的搭建代码和那个端口代码教程
- ¥15 Centos / PETSc / PETGEM
- ¥15 centos7.9 IPv6端口telnet和端口监控问题
- ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
- ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
- ¥20 海浪数据 南海地区海况数据,波浪数据
- ¥20 软件测试决策法疑问求解答