lun1ght 2024-02-27 05:32 采纳率: 75%
浏览 5
已结题

请问为什么数组b超出了但是会影响到字符数组a的值

请问为什么字符数组b超出了会影响到字符数组a的值

#include <stdio.h>
int main()
{
    char a[10],b[10];
    gets(a);
    gets(b);
    puts(a);
    return 0;
}


img

  • 写回答

6条回答 默认 最新

  • 莪是男神 2024-02-27 09:53
    关注

    你和我的运行结果不太一样,我在自己的电脑上运行多次都是下面这个结果:

    img

    不过我大概能理解你的输入为什么是那样的,主要是因为栈分配内存的时候,a 和 b 是相邻分配的,且 a 正好在 b 的前面,所以 b 数组超出的部分就覆盖了 a

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

报告相同问题?

问题事件

  • 系统已结题 3月12日
  • 已采纳回答 3月4日
  • 修改了问题 2月27日
  • 创建了问题 2月27日