char
str[]="ABCD";相当于写:char
str[5]={
'A','B','C','D',0
};
那么*(p+4)相当于p[4]或str[4]的值是0
这里运用了两个c语言的默认格式,一个是用str[]让编译器根据后知面赋值的字串自己统计应当申请的数组元素个数,另一个是用字符串"ABCD"的写法默道认是占用5个字符位置,包括ABCD四个字母和最后用来结束字符串的0
因为输出的*(p+4)是字符串结束标志符'\0',其ASCII码为0.
p+4即表示str[4]
你最大的索引才到str[3]
而在字符串后都有结束标识符的\0,
它的ASCII码值是0.编译器或许默认将str[4]
=
‘\0’
你好!
p+4即表示str[4]
你最大的索引才到str[3]
而在字符串后都有结束标识符的\0,
它的ASCII码值是0.编译器或许默认将str[4]
=
‘\0’
如有疑问,请追问。