问题 单项选择题

有以下程序
main ( )
char s[]="\n123\\";
printf ( "%d, %d\n", strlen (s) , sizeof (s)); 执行后输出结果是

A.赋初值的字符串有错

B.6,7

C.5,6

D.6,6

答案

参考答案:C

解析: 本题考核的知识点是字符串的长度和字符型数组所占的字节数。本题在定义字符数组时没有定义数组长度,但是给数组赋了初值,这时初值的个数即为数组的长度,故数组长度为6(包括'\0')。字符串的长度为有效字符的个数 5。因此printf语句中输出的结果为5,6。所以,C选项为所选。

单项选择题
多项选择题