C语言问题:指针变量,数组名,字符串常量的区别。
设有下面的程序段:chars[]="china";char*p;p=s;则下列叙述正确的是:(A)s和p完全相同(B)数组s中的内容和指针变量p中的内容想等(C)s数组长...
设有下面的程序段: char s[ ]="china" ; char * p; p=s; 则下列叙述正确的是:
(A) s和p完全相同
(B)数组s中的内容和指针变量p中的内容想等
(C)s数组长度和p所指向的字符串长度相等
(D)*p与s[0]值相等
答案选D 。A B C选项为什么错呢?错在哪里? 展开
(A) s和p完全相同
(B)数组s中的内容和指针变量p中的内容想等
(C)s数组长度和p所指向的字符串长度相等
(D)*p与s[0]值相等
答案选D 。A B C选项为什么错呢?错在哪里? 展开
5个回答
展开全部
(A) s和p完全相同:s是字符串数组,p是字符指针,不同。
(B)数组s中的内容和指针变量p中的内容想等:s的内容"china",p的内容是s的首字节的内存地址,不同。
(C)s数组长度和p所指向的字符串长度相等:s数组长度是6(最后一位的值是0),p指向的字符串长度是5,不等。
(D)*p与s[0]值相等:正确。p=s,即p=&s[0],那么*p的值就等于s[0]。
(B)数组s中的内容和指针变量p中的内容想等:s的内容"china",p的内容是s的首字节的内存地址,不同。
(C)s数组长度和p所指向的字符串长度相等:s数组长度是6(最后一位的值是0),p指向的字符串长度是5,不等。
(D)*p与s[0]值相等:正确。p=s,即p=&s[0],那么*p的值就等于s[0]。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好长时间没看C语言了 有点忘记了
A、S为一个字符串,p为指针 概念不相同。
B、指针里面存储的是地址。
C、忘了 好像是字符串最后还有一个空白字符 所以要多一
D、s[0]是字符串的首位,而*p也是指向字符串的首位 所以一样
A、S为一个字符串,p为指针 概念不相同。
B、指针里面存储的是地址。
C、忘了 好像是字符串最后还有一个空白字符 所以要多一
D、s[0]是字符串的首位,而*p也是指向字符串的首位 所以一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A:s是字符数组,而p只是字符指针;
B:字符数组s存放的就是china,而p只是指向数组s的首地址;
C:s数组的长度就是china字符串的长度,为5,而p所指向的字符串长度还应包括字符串结尾的标识符'\0';
综上所述D是正确答案!
B:字符数组s存放的就是china,而p只是指向数组s的首地址;
C:s数组的长度就是china字符串的长度,为5,而p所指向的字符串长度还应包括字符串结尾的标识符'\0';
综上所述D是正确答案!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A:不完全相同 比如p能自加 s不能 p++;
B:数组s中是很多元素 p中就一个元素s[0]
C:s数组长度>=p所指向的字符串长度相等 因为s[]可能很大 而只用了一部分
B:数组s中是很多元素 p中就一个元素s[0]
C:s数组长度>=p所指向的字符串长度相等 因为s[]可能很大 而只用了一部分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询