PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 字串反轉recursive問題
作者:
kdok123
(小天)
2014-10-30 20:50:29
char *rflip(char *str,int length)
{
if(*str=='\0')
return str;
char *temp = rflip(&str[1],
作者:
LPH66
(-6.2598534e+18f)
2014-10-30 21:13:00
因為 a[b] 就是 *(a+b)
作者: jackylu63 (J)
2014-10-30 22:26:00
用recursive?會不會太貴了一點
作者:
MOONRAKER
(㊣牛鶴鰻毛人)
2014-10-30 22:59:00
做個練習而已 看看functional languages那才真是貴
作者:
littleshan
(我要加入劍道社!)
2014-10-31 00:45:00
你的程式碼根本就 memory access violation
作者:
Feis
(永遠睡不著 @@)
2014-10-31 01:14:00
蠻有趣的寫法. 可惜是錯的~ a 不夠大~這樣 a 大概要兩倍大.
作者:
kdok123
(小天)
2014-10-31 10:08:00
sorry我沒有很懂各位的意思,可以跟我講解細一點嗎??我知道a[b]是*a+b,可是我的問題點還是有疑問...*(a+b)還有為什麼a要兩倍大? memeory access violation的地方?
作者:
Caesar08
(Caesar)
2014-10-31 12:15:00
因為你是從a[3]開始寫入,而不是一開始的位置你把a印出來就知道了
作者:
jacky1989
2014-10-31 12:55:00
從來都不是空的啊!!因為你已經給它位置了但是不建議這樣寫,因為這樣整個程式變很亂
作者:
dirkc
(3781615)
2014-10-31 13:09:00
temp一直是&a[3],temp+1,+2,+3就往後寫,因此需要兩倍空間你已知a[b]是*(a+b),就知矩陣指標可互換,那問題點的問題是?阿,你main最後加上cout<<a會印出abccba,這樣應該就可理解吧
作者:
kdok123
(小天)
2014-10-31 18:10:00
恩恩我理解了!不過a沒有宣告兩倍大卻沒有出錯讓我覺得很神奇
作者: JLong (白開水的味道)
2014-10-31 22:06:00
那真的只是剛好沒事. 你要用pointer任意覆寫任何位址都可.會不會發生什麼事, 等發生就知道...
作者:
MOONRAKER
(㊣牛鶴鰻毛人)
2014-11-01 01:13:00
等你發生一次就會學到教訓了。
繼續閱讀
[問題] ACM11401 (已解決)
lmd71982
[問題] 對不起 真的很急
ycc93311
[問題] 為何我的ASCII編碼不太一樣&ACM10008
laiDark
Re: [問題] 2位數以上的四則運算
dirkc
Re: [問題] 高斯消去法
Zero0910
[問題] 高斯消去法
won54chan
Re: [問題] 在迴圈裡面重複寫出txt檔
holydc
[問題] 請問如何寫跨平台的c++程式?
new5050
[問題] 在迴圈裡面重複寫出txt檔
belle800620
Fw: [問題] C# 引用 C 開發的DLL檔宣告方式
howshow
Links
booklink
Contact Us: admin [ a t ] ucptt.com