作者smartcow86 (coldcow是学校用VS教学,)
看板C_and_CPP
标题[问题] 指标问题
时间Wed Dec 14 01:19:30 2016
题目
http://i.imgur.com/xf1Tc8H.jpg
问题1:想问一下第三第四题为何我第三题可以*(p+1)=c不行p++=c
第四题为何就可以p++如果用*(p+1)却变成\abc
第三题程式:
http://i.imgur.com/8yVEurM.jpg
http://i.imgur.com/zgAaWkt.jpg
第四题程式:
http://i.imgur.com/wqLWlD0.jpg
http://i.imgur.com/iVQ7MN6.jpg
问题2:
为何第三题的printf(''p=%s\n'',p) p没加*
程式却跑的出来yzu.edu.tw那串?我试着加过却变当机......
然後如果我在p前面加&不是会跑出位址,可是我却跑出乱码,为何?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.137.252.4
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1481649573.A.7D9.html
1F:推 MIKEmike07: *(p+1)=*p++ 不是 p++ ...12/14 01:37
2F:→ MIKEmike07: 我觉得你根本没搞懂 是在硬凑乱写...12/14 01:37
呃,老实说那个code不是我写的,我同学写的,他写了,问他还一无所知,让我很傻眼,
原本是用假设abc现在指到b的位址,问他如果是用*p++他说是c(地址+1)问他p++他却也
说c(单位+1)所以让我很疑惑
3F:→ MIKEmike07: 还有来问问题不要贴照片 要传codepad那种...12/14 01:38
4F:推 asd456fgh778: 请爱用电脑截图12/14 01:46
对不起=_=因为我的电脑最近ptt有点问题,所以只能用手机用,可是我的手机又是iphone
传电脑图片很麻烦,下午有空会用打的把他改掉
※ 编辑: smartcow86 (114.137.33.106), 12/14/2016 02:21:01
5F:推 firejox: 一楼*(p+1) 不等於*p++12/14 02:42
6F:→ firejox: *p++会做两件事一个是*p另一个是p++12/14 02:45
7F:推 firejox: *p++等於*(p++),相对的*++p等於*(++p)12/14 02:54
8F:推 poolongkong: *p++不是等於(*p)++吗 还没实际测试 纯猜测讨论12/14 10:32
9F:推 b0920075: *p++=*(p++),c是赋值给*p12/14 11:14
10F:→ b0920075: 这样?12/14 11:15
11F:推 firejox: 是的 while(n--){ *to++ = *from++; } 就是一个复制的12/14 11:28
12F:→ firejox: 写法12/14 11:28
13F:推 b0920075: 教授教这个是拿strcpy来讲解12/14 11:49
14F:→ b0920075: 原来有学到东西,明天要认真上课XDD12/14 11:51
※ 编辑: smartcow86 (42.72.52.119), 12/14/2016 19:52:41
15F:嘘 hunandy14: 览 12/18 14:37