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日

悬赏问题

  • ¥15 晶体塑性有限元——Damask求解
  • ¥15 写出这个有没有人能写一下今天中午就要
  • ¥30 设计一个图形用户界面来控制你机械臂的运动
  • ¥30 3d打印机无法识别到SD卡,如何解决?(相关搜索:格式化)
  • ¥15 RPG游戏架构设计和开发方法
  • ¥15 前端返回pdf时不显示内容
  • ¥50 如何在不能联网影子模式下的电脑解决usb锁
  • ¥20 服务器redhat5.8网络问题
  • ¥15 如何利用c++ MFC绘制复杂网络多层图
  • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变