有关char 的问题!

长尾巴的悟空 2008-06-03 10:33:17
char *A="abcd";
A+=2;
加完之后,A为什么变成了cd~???

...全文
77 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuxiaohuahhh 2008-06-04
  • 打赏
  • 举报
回复
+2就是舍弃了前面的两位,从第三个开始了,还是一个字符串
xjy1204 2008-06-03
  • 打赏
  • 举报
回复
A本来指向字符串的第一个字节,A+=2后移后了两位,所以现在指向c..
zbing0203 2008-06-03
  • 打赏
  • 举报
回复
楼主什么意思
Clerk_9919 2008-06-03
  • 打赏
  • 举报
回复
因为指针A向前移动了两个字节啊
Ethan_yushui213 2008-06-03
  • 打赏
  • 举报
回复
a b c d \0

A

A+=2后变成:
a b c d \0

A

所以
就是cd了
lyle3 2008-06-03
  • 打赏
  • 举报
回复
字符串以'\0'结束,加2之后只是改变了开始位置,终止位置并没有改变
所以....
xkyx_cn 2008-06-03
  • 打赏
  • 举报
回复
lz想让它变成什么?

[Quote=引用楼主 gofqjyie 的帖子:]
char *A="abcd";
A+=2;
加完之后,A为什么变成了cd~???
[/Quote]
paidfighting 2008-06-03
  • 打赏
  • 举报
回复
...
那你说应该变成什么
lionc650 2008-06-03
  • 打赏
  • 举报
回复
A+2指的是A的指针前移两位,当然是指向了'c',而不是A变成了'cd‘

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧