设有如下程序段: #include<stdio.h> char s[20]="Beijing",*p; p=s; 则执行p=s;语句后,以下叙述中正确的是( )。

admin2019-01-11  31

问题 设有如下程序段:
   #include<stdio.h>
   char s[20]="Beijing",*p;
   p=s;
   则执行p=s;语句后,以下叙述中正确的是(    )。

选项 A、s和p都是指针变量
B、s数组中元素的个数和p所指字符串长度相等
C、可以用*p表示s[0]
D、数组s中的内容和指针变量p中的内容相同

答案C

解析 语句p=s;执行完毕后,即将指针p指向了数组s的首地址,所以*p即等价于s[0],选项C正确;字符数组存放字符串,C语言编译系统会自动在其后面添加上结束标识符’\0’,所以s数组中元素个数为8(算上了结束标识符),而p指向的字符串长度为7,选项B错误;数组名s为一个指针常量,选项A错误;指针变量p存放的是一个地址值,即为数组s的首地址,和数组s中的内容不一致,选项D错误;所以答案选C。
转载请注明原文地址:https://kaotiyun.com/show/nKxp777K
0

相关试题推荐
随机试题
最新回复(0)