日期:2014-05-20 浏览次数:20691 次
//不要被结束符忽悠 void reverse(char *str) {//传入一个指向字符串的指针str char * end = str;//把指针str赋给指针end,于是2个指针指向同一个位置 char tmp;//临时变量,你懂的 if (str) {//如果指针存在 while (*end) {//end指针指向的位置一直后移,直到指向结束符'\0'的下一个跳出while,只是end指向结束符'\0' ++end; } --end;//end指针前移一位,指向字符串最后一位 while (str < end) {//当str指针在end指针之前的时候交换 tmp = *str;//end和str指针指向的位置上的字符对换,换完之后str后移,end前移 *str++ = *end; *end-- = tmp; } } }