方法一:
#include <stdio.h> char * fun(char *s)
{ int len=0,i; char temp; for(i=0;*(s+i)!='\0';i++) ; len=i; for(i=0;i<len/2;i++)/*折半呀*/ { temp=s[i]; s[i]=s[len-1-i]; s[len-1-i]=temp; } return s; } int main() { char str[]="abcdefghijklmnopqrstuvwxyz"; printf("%s\n",str); fun(str); printf("%s\n",str); }
方法二:
#include <iostream> using namespace std; char * fun(char *s)
{ int len=strlen(s); int i=0; char *temp; temp=new char[len]; //为temp分配空间.也就是进行初始化. while(len>0) //改成len>0,否则此循环体一次都不会执行! { temp[i]=s[len-1]; //改为len-1,这才是s的最后一个元素! i++; len--; } temp[i]='\0'; cout<<temp<<endl; return temp; }
void main() { char *str="who are you!"; str=fun(str); cout<<str<<endl; }

|