问题
单项选择题
有以下程序:main(){ charp[]={'a','b','c'},q[]="abc";printf("%d%d\n",sizeof(p),sizeof(q));}程序运行后的输出结果是______。
A.44
B.33
C.34
D.43
答案
参考答案:C
解析:字符数组有两种定义方式:一种是逐个字符赋给数组中各元素,如本题中“p[]={'a','b','c'}”的定义, 由于定义时没有给出数组大小,此时字符个数就是数组的长度;另一种是将字符串作为字符数组来处理, 如题中“q[]="abc"”的定义形式。C 语言规定,字符串以'\0'作为结束符,并占用一个存储空间。sizeof()函 数是计算变量或数组所分配到的内存空间的大小,故本题的输出结果是 3 4。