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