#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
//实现字符串倒置abcd变成dcba
void myinversion(char *dest,const char *src,int len)
{
//判断两个数组是不是为空,如果空间不存在,赋值有危险
assert((dest != NULL)&&(src != NULL));
//定义两个指针,一个指向原字符串的倒数第一个元素,
//一个指向目的字符串的第一个元素
char *d = dest;
char *s = &src[len-1];
//做循环,拷贝,两种方式
//1.传长度,for循环len-->0;
//2.直接判断src不为空就一直拷贝
while(len-- != 0)
{
*d++ = *s--;
}
//把最后的斜杠0也拷贝上
*d = 0;
//1.返回地址方便链式操作
}
int main()
{
//1.初始化原字符串
char *src="hello,world";
//2.算src大小;
int len = strlen(src);
//3.定义一个新字符串,目标字符串
char *dest = NULL;
//4.给新字符串开辟空间,细节加1,放\0
dest = (char *)malloc(len+1);
//5.调用函数myinversion;
myinversion(dest,src,len);
//打印目标字符串
printf("%s",dest);
system("pause");
return 0;
}