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

admin2019-04-24  36

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

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

答案A

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

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