回复 10楼 杭01
											.....我刚学三个月  我想说... 你写的我基本都看不懂啊啊啊啊TT										
					
	 2016-02-11 23:34
	    2016-02-11 23:34
   2016-02-12 07:45
	    2016-02-12 07:45
  char *s = "abcde";这里字符串s的值是"abcde",反序后的字符串是:
char *d = "edcba";将它们放在一起,配上所在位置就是:
/* a b c d e * e d c b a * 0 1 2 3 4 */可以看到,本来处在[4]的'e'跑到了[0],本来处在[3]的'd'跑到了[1],[2]的'c'没变,[1]的'b'跑到了[3],[0]的'a'跑到了[4]
d[i] = s[strlen(s)-i]然后就可以写出程序了。
 程序代码:
程序代码:    char* strrev(char* s) { 
        /* h指向s的头部 */
        char* h = s;
        /* t指向s的尾部 */    
        char* t = s + strlen(s); 
        char ch; 
        /* 当h和t未重合时,交换它们所指向的字符 */
        while(h < t) {
            ch = *h;
            *h++ = *t;    /* h向尾部移动 */
            *t-- = ch;    /* t向头部移动 */
        }
        return s;
    }

 2016-02-12 17:58
	    2016-02-12 17:58