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

admin2013-02-23  37

问题 有以下程序:    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。
转载请注明原文地址:https://kaotiyun.com/show/pqPp777K
0

最新回复(0)