有数组char x[]="abcdefg"; char y[]={'a','b','c','d','e','f','g'}; 正确的是

有数组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是正确的。
char x[]="abcdefg"等价于char x[]={'a','b','c','d','e','f','g','\0'}
所以x长度比y多一。追问

是隐藏了一个吗

追答

可以说隐藏的吧,就是结束标志'\0'。

温馨提示:内容为网友见解,仅供参考
无其他回答

...char y[]={'a','b','c','d','e','f','g'}; 正确的是
C是正确的。char x[]="abcdefg"等价于char x[]={'a','b','c','d','e','f','g','\\0'} 所以x长度比y多一。

...}; char y[]={'a','b','c','d','e','f','g'}; 比较它们的长度...
第一个8,第二7,因为第一个要加上'\\0'。main(){char x[]="abcdefg";char y[]={'a','b','c','d','e','f','g'};printf("%d",strcmp(x,y));getch();} a数组的长度是6,b数组的长度是7。在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。字符串总是...

...char y[]={'a','b','c','d','e','f','g'}; 比较大小? 有点儿...
如果是的话,可以直接用strcmp(x,y) 如果x>y返回值是正数,等于返回值是0,小于返回是负数 下面是代码。。。main(){char x[]="abcdefg";char y[]={'a','b','c','d','e','f','g'};printf("%d",strcmp(x,y));getch();} 希望对你有帮助。。。仍有问题可以HI我。。。

下半年计算机二级c语言基础试题
char acX[ ]= "abcdefg"; char acY[ ]= {'a','b','c','d','e','f','g'}; 则正确的叙述为( ) A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同 C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组acY的长度 答案:C 2. void example(char acHello[]) { printf("%d...

给出以下定义: char x[ ]="abcdefg";则正确的叙述为
b) 数组x的长度为8 sizeof(x) = 8 这是次字符串的实际占的内存 为8个字节,后面还有一个'\\0'strlen(x) = 7 字符串中实际字符的个数不包括'\\0'

关于sprintf()
char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', 'N'};如果:sprintf(s, "%s%s", a1, a2); \/\/Don't do that!十有八九要出问题了。是否可以改成:sprintf(s, "%7s%7s", a1, a2);也没好到哪儿去,正确的应该...

C语言是不是字符串最后才会有\\0,字符最后有吗?
是字符串常量最后有一个结束符号。所以,在变量初始化那里,char x[ ]=“abcdefg”,把字符串常量赋值给数组,数组x元素个数就多了一个结束符号。而y数组是按照字符赋初值的,所以y元素个数就是字符个数。所以这里如果用字符串函数strlen获取长度,只有x能正常获取。

求sprintf函数的详解,要附带例子,粘贴复制来的也可以,只要清晰内容好就...
char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', 'N'};如果:sprintf(s, "%s%s", a1, a2); \/\/Don't do that!十有八九要出问题了。是否可以改成:sprintf(s, "%7s%7s", a1, a2);也没好到哪儿去,正确的应该...

为什么说 char a[ ]="abcdefg" 字符数组中有八个元素? 其中的数值也没...
其实应该是七个元素。。。只是对于字符串而言,结尾会加“\\0”表示字符串结束。。。所以实际上占了八个位置。。。希望能帮到你。。。

求C语言编程题
char acX[ ]= "abcdefg"; char acY[ ]= {'a','b','c','d','e','f','g'}; 则正确的叙述为( ) A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同 C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组acY的长度答案:C2. void example(char acHello[]) { printf("%d",...

相似回答