设有以下定义 char s1[]="0123"; char s2[]={’0’,’1’,’2’,’3’}; 则以下叙述正确的是( )。

admin2019-12-17  37

问题 设有以下定义
char s1[]="0123";
char s2[]={’0’,’1’,’2’,’3’};
则以下叙述正确的是( )。

选项 A、数组s1的长度大于s2的长度
B、数组s1和s2的长度相同
C、数组s1的长度小于s2的长度
D、数组s1和s2完全等价

答案A

解析 字符数组s2的末尾字符不为?\0?,所以存放的并不是字符串,所以s2的字符个数为4,数组长度也为4;C语言中,若直接把一个字符串赋值给字符数组,系统会自动在末尾加上结束标识符?\0?并放置到该字符数组中,所以s1中的字符个数为5,数组长度也为5,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/vQCp777K
0

最新回复(0)