求大佬講一下這段程式,謝謝
uj5u.com熱心網友回復:
fun函式實作字串轉置uj5u.com熱心網友回復:
s1=w 指標指向字串的首地址(也就是s1指向‘1’這個字符的地址)s2=w+n-1 指標指向字串最后一個字符的地址(也就是s2指向‘7’這個字符的地址)
while(s1<s2)當s1指向的地址小于s2指向的地址則一直回圈
t=*s1;*s1=*s2;*s2=t;就是交換s1和s2地址的字符,也就是‘1’變成了‘7’,‘7’變成了‘1’
s1++就是s1指向的地址遞增,也就是s1指向‘2’所在的地址
s2--就是s2指向的地址遞減,也就是s2指向‘6’所在的地址
這樣,下一輪while回圈就會交換‘2’和‘6’,再下一輪就交換‘3’和‘5’,再下一輪,s1指向‘4’,s2也指向‘4’,不滿足while,回圈結束
所以最終字串變為“7654321”
uj5u.com熱心網友回復:
初學C吧。要理解這個代碼,首先要弄清楚,指標變數與普通變數的區別:前者是告訴編譯器,存盤的值是一個地址值;后者則是數值。
所以對于指標變數p, *p++ 和(*p)++是有區別。
函式里面,搞兩個指標,一個指向頭,一個指向尾。 按地址比較,然后互動數值大小。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/244465.html
標籤:C語言
下一篇:哪位大神知道這個錯誤怎么改啊,
