A-A+

有以下程序 main (){ char s[]= 123\; printf (\%d

2022-08-06 04:28:40 问答库 阅读 175 次

问题详情

有以下程序 main (){ char s[]="n123\"; printf ("%d, %dn", strlen (s) , sizeof (s));} 执行后输出结果是
A.赋初值的字符串有错
B.6,7
C.5,6
D.6,6请帮忙给出正确答案和分析,谢谢!

参考答案

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

考点:程序