char s[5]={"abc"};
char s[5]={'a','b','c'};
char s[5]=" ";
char s[5]="abcdef";
前两个选项会用a,b,c填充,后面用两个/0结束符填充,前两个是一样的效果,第三个选项全部用/0结束符填充,最后一个选项因为长度不足,会自动截取5个字符,因为这样就没有/0了,后面使用会有问题
综上所述,D 选项中,字符串 "abcdef" 的长度为 7 (包括空字符 \0 ),而数组 s 的大小为 5 ,因此会发生数组越界的错误。所以 D 选项是不正确的。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题