作者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/m.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