C语言菜鸟问题(34)

来源:百度知道 编辑:UC知道 时间:2024/06/10 21:32:13
给出以下定义:
char x[ ]="abcdefg";
char y[ ]={'a','b','c','d','e','f','g'};
则正确的叙述为:
A:数组x和数组y等价
B:数组x和数组y长度相同
C: 数组x的长度大于数组y的长度
D:数组x的长度小于数组y的长度

我就想知道这俩数组的长度都是怎么算的,我要的不是答案,希望指点谢谢!

C,
x[]是以字符串来存的,so它最后面还会有一个“/0”位来标识
y[]枚举了数组位了,后面不用有“/0”位

c语言处理"abc"这种双引号内的内容的时候,会自动在末尾加上\0也就是结束符,用{'a','b','c','d','e','f','g'}初始化当然那不会有多余的东西