字符串逆序排列
原创
©著作权归作者所有:来自51CTO博客作者mb60ffdbe016b5d的原创作品,请联系作者获取转载授权,否则将追究法律责任
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char *src=NULL;
int len=0;
char * dest=NULL;
char * d =NULL;
char * s =NULL;
src = (char*)malloc(20);
printf("****************************************\n");
printf("请输入字符串......\n");
//memset(src,"",100);//初始化src 这一句其实可以不用
gets(src);//获取输入的字符串memset
//printf(src);
//printf("\n");
len = strlen(src);
dest = (char*)malloc(len+1);//给逆序的字符串重新排列
d=dest;//d 指向src的首地址
//s=&src[len-1];//s指向src的尾地址
s=src+sizeof(char)*len-sizeof(char);//另一种表达方式 与上一行的结果是一样的
while(len--!= 0)
{
//printf("*d=%c\n",*d);
//printf("*s=%c\n",*s);
*d++=*s--;
}
*d=0;//尾部要加\0
//strcmp(dest,d);//这句没有用,这是字符串比较函数,不是字符串复制函数
printf(dest);
printf("\n");
printf("****************************************\n");
free(dest);
return 0;
}