c语言中p2=str+strlen(str)-1是什么意思

 我来答
White_MouseYBZ
推荐于2018-03-01 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6582万
展开全部
看来str是字符串数组名,这里当指针用;strlen(str)-1是求出字符串str的长度再-1,其值就将长度变成了下标值;str+strlen(str)-1就求出了字符串数组最后一个有效位('\0'前面的那个)的地址;p2=str+strlen(str)-1就是把这最后一位的地址(指针)赋给指针p2。换句话说,就是让指针p2指向字符串str的最后一个有效字符。
扰龙梓瑶3O
2013-11-03
知道答主
回答量:37
采纳率:0%
帮助的人:11.2万
展开全部
str是字符串数组的数组名,而数组名就是最开始的地址的地址(这个是地址不是别的,PS:再次强调这个地址),字符每个占一个字节,那么算出长度在减1就是一共有多少个字符,为什么要减一是应该在算长度是把\0也算出来了,那么首地址加上总长度就是最后一个字符的地址了。
追问
哦,有点理解了,谢谢哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-04
展开全部
p2指向str的最后一个字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fswefw2323cve
2013-11-03
知道答主
回答量:8
采纳率:0%
帮助的人:7.5万
展开全部
没上下文怎么知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tattackor
推荐于2016-01-03 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:884万
展开全部
1、这里str是字符串数组名,这里当指针用;strlen(str)-1是求出字符串str的长度再-1,其值就将长度变成了下标值。
2、str+strlen(str)-1就求出了字符串数组最后一个有效位('\0'前面的那个)的地址;p2=str+strlen(str)-1就是把这最后一位的地址(指针)赋给指针p2。换句话说,就是让指针p2指向字符串str的最后一个有效字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式