问题 单项选择题

有以下程序: main() { char p[]={'a','b','c'},q[]="abc";printf("%d%d\n",sizeof(p),sizeof(q)); } 程序运行后的输出结果是 ______。

A.4 4

B.3 3

C.3 4

D.4 3

答案

参考答案:C

解析:[评析]字符数组有两种定义方式:一种是逐个字符赋给数组中各元素,如本题中“p[]={'a','b','c'}的定义,由于定义时没有给出数组大小,此时字符个数就是数组的长度;另一种是将字符串作为字符数组来处理,如题中“q[]="abc"”的定义形式。C语言规定,字符串以'\0'作为结束符,并占用一个存储空间。sizeof()函数是计算变量或数组所分配到的内存空间的大小,故本题的输出结果是3 4。

单项选择题
单项选择题 B型题