qzd1234 2022-11-30 19:23 采纳率: 100%
浏览 55
已结题

关于#c语言#的问题:为什么会出现字符竖着赋给字符数组并且最后一行又横着赋的情况,求原理方面的详细解答

为什么会出现字符竖着赋给字符数组并且最后一行又横着赋的情况,求原理方面的详细解答。

img

img

  • 写回答

4条回答 默认 最新

  • X-道至简 2022-11-30 20:01
    关注

    是先竖着赋值,最后那个是横着赋值的,因为每次for循环都是读入到数组a里面,前面几次会被覆盖,最后那次读入没有被覆盖
    具体过程是这样的 n=5
    i=0时候 ,从a[0]地址开始读入字符串a0-a4 = qwert
    i=1时候, 从a[1]地址开始读入字符串a0没有被覆盖,a1-a4都被覆盖了,a0=q,a1-a4=qwer
    i=2时候, 从a[2]地址开始读入字符串a0,a1没有被覆盖,a2-a4都被覆盖了,a0=q,a1=q,a2-a4=xxs
    i=3时候, 从a[3]地址开始读入字符串a0,a1,a2没有被覆盖,a3-a4都被覆盖了,a0=q,a1=q,a2=x, a3-a5=ssx
    i=4时候, 从a[4]地址开始读入字符串a0,a1,a2,a3没有被覆盖,a4-a5都被覆盖了,a0=q,a1=q,a2=x,a3=s, a4-a7=jntm
    所以i=4最后一次读入没有被覆盖了看起来是横着输入的,最后a被赋值了8个字符a0-a7,为qqxsjntm
    看着竖着输入是因为被覆盖了

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

报告相同问题?

问题事件

  • 系统已结题 12月8日
  • 已采纳回答 11月30日
  • 赞助了问题酬金15元 11月30日
  • 创建了问题 11月30日