yysyyds 发表于 2021-12-4 13:28:59

*target此时是什么?

这里的target1最后指向的是'\0'后一位的数据嘛?那此时*target1等于什么?

jackz007 发表于 2021-12-4 13:35:49

本帖最后由 jackz007 于 2021-12-4 13:38 编辑

      target1 最后指向 '\0' 之后的那个字符,至于这个字符是什么,关心它还有任何意义吗?银行里有很多钱,可是,我们只能取到属于我们自己的钱,至于其它的钱它再多,那也是别人的,和我们无干,你说对吧?

yysyyds 发表于 2021-12-4 13:47:44

jackz007 发表于 2021-12-4 13:35
target1 最后指向 '\0' 之后的那个字符,至于这个字符是什么,关心它还有任何意义吗?银行里有很多 ...

我的意思是,之后要进行的操作不应该是target1-=3嘛?

jackz007 发表于 2021-12-4 14:07:16

本帖最后由 jackz007 于 2021-12-4 14:10 编辑

我的意思是,之后要进行的操作不应该是target1-=3嘛?
      你不是说 "最后" 吗,后面还有操作的话那就是另一回事了。target1-=3 你想收到什么效果,或者说,下一步你希望干什么? tagtet -= 3 将会使 target 指向 str1 从 '\0' 算起,倒数第 3 个字符。

yysyyds 发表于 2021-12-4 14:13:55

jackz007 发表于 2021-12-4 14:07
你不是说 "最后" 吗,后面还有操作的话那就是另一回事了。target1-=3 你想收到什么效果,或者说 ...

为啥不是从'\0'后一位算起?

yysyyds 发表于 2021-12-4 14:14:43

jackz007 发表于 2021-12-4 14:07
你不是说 "最后" 吗,后面还有操作的话那就是另一回事了。target1-=3 你想收到什么效果,或者说 ...

你看图里

jackz007 发表于 2021-12-4 14:21:13

yysyyds 发表于 2021-12-4 14:14
你看图里

       图在哪里?

yysyyds 发表于 2021-12-4 14:24:27

jackz007 发表于 2021-12-4 14:21
图在哪里?

就开始这个图啊

jackz007 发表于 2021-12-4 14:30:23

本帖最后由 jackz007 于 2021-12-4 14:33 编辑

      大概你所说的 "最后" 指的是执行完这一句以后吧?
while(* target1 ++!= '\0') ;
      这一句当 * target1 == '\0' 的时候,先执行 target1 ++,然后才退出循环,所以,循环结束的时候,target1 已经指向 str1 字符串结束字符 '\0' 后面的那个字符了。所以,target - 1 指向 '\0',target1 - 2 指向 '\n' 字符。

yysyyds 发表于 2021-12-4 14:36:27

jackz007 发表于 2021-12-4 14:30
大概你所说的 "最后" 指的是执行完这一句以后吧?

      这一句当 * target1 == '\0' 的时候,先 ...

哦哦哦,反应过来了,谢谢谢谢
页: [1]
查看完整版本: *target此时是什么?