目录: 标题| 题干| 答案| 搜索| 相关
问题

若有下面的程序段char s[]="china";char *p; p=s;


若有下面的程序段char s[]="china";char *p; p=s;则下列叙述正确的是A.s和p完全相同 B.数组s中的内容和指针变量p中的内容相等C.s数组长度和p所指向的字符串长度相等 D.*p与s[0]相等

  • As和p完全相同
  • B数组s中的内容和指针变量p中的内容相等
  • Cs数组长度和p所指向的字符串长度相等
  • D*p与s[0]相等
参考答案
参考解析:

本题考查数组与指针的关系。C语言规定数组名代表数组中第一个元素的地址,题目中给出了p=s,即p=&s[0],所以有*p=s[0]。A选项说s和p完全相同是错误的,因为s是数组名,是一个常量,而p是一个指针变量;B选项说数组s中的内容和指针变量p中的内容相等也是错误的,因为数组s中的内容是字符串“china”,而指针变量p中的内容是数组的首地址;C选项说s数组长度和p所指向的字符串长度相等也是错误的,因为字符串存放在数组中时,至少需要多出一个存放字符串结束标识的单元。

分类:其他