#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;
}
字符串逆序排列_编程