C语言 char str[ ]="ABCD",*p=str; 语句printf("%d\n",*(p+4));输出结果为0,为什么?
3个回答
展开全部
因为输出的*(p+4)是字符串结束标志符'\0',其ASCII码为0.
追问
0和"\0"什么区别??
追答
0和‘\0'(不是"\0")没有区别。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p+4即表示str[4]
你最大的索引才到str[3]
而在字符串后都有结束标识符的\0, 它的ASCII码值是0.编译器或许默认将str[4] = ‘\0’
你最大的索引才到str[3]
而在字符串后都有结束标识符的\0, 它的ASCII码值是0.编译器或许默认将str[4] = ‘\0’
追问
0和"\0"什么区别??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询