ΚΧЯ 2021-04-03 16:54 采纳率: 50%
浏览 62
已采纳

为什么输出会是这样?

 

问一下,为什么输出的时候总会跟着这个
 

  • 写回答

4条回答 默认 最新

  • 小白小白你好菜 2021-04-03 20:09
    关注

    字符组越界了,不过不是删{},{}对你字符组无影响。

    在C语言中,字符串后面会自动接字符串结束符'\0',所以你的name字符组实际上是'j'   'h'   'u'  's'  't'  'i'  'n'  '\0'总共8个字符

    address字符组实际上是'a'  'b'  'c'  'd'  'e'  'f'  'g'   'h'  'i'  'j'   '\0'总共11个字符,所以你在定义的时候应该定义字符组大小为8和11。

    只有在字符串后面才会自动接'\0'!!!你单个输入字符作为字符组元素是不会接'\0'的。

    你可以用sizeof("jhustin")输出,他的值应该是8,因为sizeof()读取的是实际占的内存大小

    strlen("jhustin")输出的是7,因为strlen()函数返回的是'\0'之前的所有字符数量

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd