[书画美术] chara[][5]={Zhong,Gong,ren};

[复制链接]
查看81 | 回复0 | 2022-6-4 12:15 | 显示全部楼层 |阅读模式
问题:
chara[][5]={Zhong,Gong,ren};

void main()
{
  char a[][5]={Zhong,Gong, ren};
  printf(%s\n%s\n, a[0],a[1]);
}
输出
ZhongGong
Gong
为什么


推荐答案:
你的这个明显是下标溢出引起的
char a[][5]每个字串只能容下4个字符,你的“Zhong”有5个字符,它会把字串后面的结束符\0挤掉,所以a的实际内存为
ZhongGong\0ren\0
你输出a[0],它要遇到\0才结束,所以是
ZhongGong
而a[1]就是
ren
【玉璞集 YUPUG.COM】