#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char* src = "hello,world"; //栈空间 stackint len = strlen(src);
char* dest = (char*)malloc(len+1);//要为\0分配一个空间heap 堆空间 手动分配
char* d = dest;
char* s = &src[len-1]; //指向最后一个字符
while( len-- != 0 )
{
*d++=*s--;
}
*d = 0; //尾部要加\0printf("%s\n",dest);
free(dest); // 使用完,应当释放空间,以免造成内存汇泄露
dest=NULL;
return 0;
}
方法2:
#include <stdio.h>#include <string.h>
int main()
{
char str[]="hello,world";
int len=strlen(str);
char t;
int i;
for(i=0;i<len-1;i++)
{
t=str[i]; //利用变量t 交换字符
str[i]=str[len-i-1];
str[len-i-1]=t;
}
printf("%s\n",str);
return 0;
}