数组逆序(以字符串逆序为例)

#include <iostream>
#include <cstring>
using namespace std;
void my_reverse(char* p)        //第一种
{
	int len = strlen(p);		//获取字符串长度
	for (int i = 0; i < len / 2; i++)	//无论长度是奇数还是偶数,该for循环都能解决
	{
		char t = p[i];
		p[i] = p[len - i - 1];
		p[len - i - 1] = t;
	}
}
void my_reverse2(char* p)        //第二种
{
	int len = strlen(p);
	char* end = p + len - 1;
	while (p < end)		//只有左边指针所指示的位置小于右边就循环下去,等两者相等或左边指针大于右边指针位置时终止
	{
		char t = *p;
		*p = *end;
		*end = t;
		p++;
		end--;
	}

}
int main()
{
	char str[20] = "hello world!";
	printf("%s\n", str);
	my_reverse(str);
	printf("%s\n", str);
	my_reverse2(str);
	printf("%s\n", str);
	return 0;
}

参考:

测验8.2 指针与字符串 6-1 函数实现字符串逆序_6-1 函数实现字符串逆序 院 本题要求实现一个-CSDN博客

用c语言实现字符串逆序_6-1 函数实现字符串逆序-CSDN博客

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值