灵琅 2018-12-29 17:27 采纳率: 100%
浏览 657
已采纳

C语言中,字符串数组是不是每四个单位就有一个\0呀

图片说明
为什么这里的scanf只能接收3个字符?

  • 写回答

3条回答 默认 最新

  • Aaron-NZH 2018-12-29 11:35
    关注

    首先每个字符串数组的末尾自带一个'\0'
    你可以先scanf一个字母,然后再用while循环,while循环末尾再加个scanf
    然后我们输入结束通常是输入-1,你可以改一下循环条件为 != -1
    你用'\0'容易出问题,比如你输入空格也系统会自动输入一个'\0'
    另外你设置了a[100],那么最后一个数组元素为a[99],要记住数组是从a[0]开始的

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

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?