c语言自写字符串的倒置函数,abcd变成dcba

#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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值