主题:【原创】如何REVERSE一个C STRING? -- 老成都
共:💬30 🌺11
复 递归解法
void reverse(char *p)
{
if(p[0]=='\0') return;
if(p[1]=='\0') return;
if(p[2]!='\0') reverse(p+1);
while(p[1]!='\0') {
p[0]=p[0]+p[1];
p[1]=p[0]-p[1];
p[0]=p[0]-p[1]; //switch.
p++;
}
}
调试已经通过,
"然后用循环将P依次后移1位,直到遇到0为止" 我费了好一会儿才明白.
- 相关回复 上下关系8
🙂老成都的code的复杂度不是变成了 tingsanguo 字72 2007-03-29 01:13:26
😮有那么高吗?n平方吧?我的倒是指数增长的 林小筑 字0 2007-03-29 14:13:22
🙂递归解法 2 泰让 字91 2007-02-18 18:47:22
🙂code出来了,谢谢帮忙,CODE在内,
🙂这比用一个临时变量,记住长度效率差多了 1 无斋主人 字687 2007-03-29 17:08:45
😂这道明显是brain teaser,又不是编程题,限制条件列得 1 林小筑 字222 2007-03-29 19:18:22
🙂花一个!问题是俺们这些老蓝领反应已经很慢了, 1 老成都 字241 2007-03-29 19:32:53
🙂把 int cnt 换成 char *end, 然后 1 tingsanguo 字64 2007-03-29 18:58:41