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

admin2019-06-12  24

问题 设有如下程序段:
    #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://jikaoti.com/ti/KLf0FFFM
0

最新回复(0)