写代码,把一个字符串倒序,如“abcd”倒序后是“dcba”

时间:2021-06-03 10:55:11

方法1:

#include<stdio.h>
#include<string.h>
int main()
{
 char *src="hello,world";
 int len=strlen(src);
 char *dest=(char*)malloc(len+1);            //要为\0分配空间
 char *p=dest;
 char *q=&src[len-1];            //指向最后一个字符
 while(len--!=0)
 {
  *p++=*q--;                 //注意不要丢掉*号
 }
 p=0;                    //字符串尾部要加上\0
 printf("%s\n",dest);
 free(dest);                 //使用完要释放空间,避免内存泄露
 return 0;
}

 

方法2:

#include<stdio.h>
#include<string.h>
int main()
{
 char str[]="hello,world";          //此处不能用char *str

 int len=strlen(str);              
 int i;
 char t=0;
 for(i=0;i<len/2;i++)
 {
  t=str[i];
  str[i]=str[len-i-1];            //不要忘记多减一个1,注意数组的下标
  str[len-i-1]=t;
 }
 printf("%s\n",str);
 return 0;
}