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

admin2022-06-24  21

问题 设有如下程序段:
#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选项错误。
转载请注明原文地址:https://kaotiyun.com/show/xFkp777K
0

最新回复(0)