作业帮 > 综合 > 作业

C语言问题:指针变量,数组名,字符串常量的区别.

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 07:43:32
C语言问题:指针变量,数组名,字符串常量的区别.
设有下面的程序段:char s[ ]="china" ; char * p; p=s; 则下列叙述正确的是:
(A) s和p完全相同
(B)数组s中的内容和指针变量p中的内容想等
(C)s数组长度和p所指向的字符串长度相等
(D)*p与s[0]值相等
.A B C选项为什么错呢?错在哪里?
C语言问题:指针变量,数组名,字符串常量的区别.
(A) s和p完全相同
a的类型是cha数组
p的类型是char指针
不一样
(B)数组s中的内容和指针变量p中的内容想等
数组s中的内容是: "china"
指针变量p中的内容是: s[0]的地址(&s[0])
一个是字符串 一个是地址
不一样
(C)s数组长度和p所指向的字符串长度相等
s数组长度包括 '\0'的位置
p所指向的字符串长度不包括 '\0'的位置
s数组长度 == p所指向的字符串长度 + 1 (1就是'\0'占有的位置)
显然 不相等