问题
单项选择题
有以下程序: 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选项为所选。