下列给字符数组赋初值时,正确的是( A )。
A. char s1[]=”abcdef”; B. char s2[4]=”abcd”;
C. char s3[2][3]={“abc”,”xyz”}; D. char s4[4][]={‘a’,’x’,’s’,’t’};
其他的为什么错了啊
B项,在初始化一个字符数组时,要自动在末尾添加'\0',表示字符数组结束,如果定义为s2[4]的话,'\0'没有地方放了。
C项,定义了一个2行三列的二维数组,但是第二行赋值"xyz",很明显又没有地方放'\0'了。
D项,定义二维数组时,只能省略行的参数,不能省略列的参数,否则会引起歧义。
C项,定义了一个2行三列的二维数组,但是第二行赋值"xyz",很明显又没有地方放'\0'了。
D项,定义二维数组时,只能省略行的参数,不能省略列的参数,否则会引起歧义。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-12-27
b 是 char s2[5] 还有空字符 c char s3[2][4] 理由同上 d.char s4[4][] 只允许第一个可以不写,即可以char s4[][4] 因为如果你这样写 char s4[4][]={"ab",’x’,’s’,’t’}; 第二维应该是几呢
书上者都有。。
不要死扣概念,练习多啦就会拉。。
书上者都有。。
不要死扣概念,练习多啦就会拉。。
第2个回答 2017-10-30
B)char s2[4]="abcd"; 字符串存储时需要5个字节(外加一个串结束符)
C)同上理由
D)定义二维数组时,第二维的下标是不可以缺省的。
C)同上理由
D)定义二维数组时,第二维的下标是不可以缺省的。