二维数组输入输出字符串

img


我输入了两个字符串,为什么输出的第一个是两个连在一起?然后还输出了第二个?

字符数组长度设置大一些
因为字符输入时会在字符串结尾处多加一个'\0'表示字符串结束.
所以设置字符数组长度时要比输入的至少多加一个字符.
你每行输入5个字符.字符数组长度就要至少是6.

char a[2][6];
char (*p)[6]=a;


如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

二维数组的元素在内存里是连续线性排列的,你输入的字符串溢出导致第一个字符串的'\0'被第二次输入的字符串覆盖了