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

admin2021-04-28  29

问题 设有如下程序段
    #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

解析 程序定义了字符数组s和字符型指针变量p,并且使得p指向数组,执行p=s;语句后,*p即表示s[0];s数组中元素的个数和 p所指字符串长度不相等,因为s数组中元素的个数包括字符串结束标志"\0",而p所指字符串长度不包括"\0";s是字符型数组,p是指针变量;数组s中的内容和指针变量p中的内容不相同,数组中存放的是字符串,而指针变量p存放的是数组的首地址。因此C选项正确。
转载请注明原文地址:https://jikaoti.com/ti/QIz0FFFM
0

最新回复(0)