请问为什么字符数组b超出了会影响到字符数组a的值
#include <stdio.h>
int main()
{
char a[10],b[10];
gets(a);
gets(b);
puts(a);
return 0;
}
请问为什么字符数组b超出了会影响到字符数组a的值
#include <stdio.h>
int main()
{
char a[10],b[10];
gets(a);
gets(b);
puts(a);
return 0;
}
你和我的运行结果不太一样,我在自己的电脑上运行多次都是下面这个结果:
不过我大概能理解你的输入为什么是那样的,主要是因为栈分配内存的时候,a 和 b 是相邻分配的,且 a 正好在 b 的前面,所以 b 数组超出的部分就覆盖了 a