写一个函数,可以逆序一个字符串的内容

第一步

首先创建一个字符串数组,然后通过sizeof计算出数组元素个数,之后利用自定义函数将数组内容逆序

int main()
{
	char arr[] = { "hello bit" };
	int sz = sizeof(arr) / sizeof(arr[0]);
	printf("%s\n", arr);
	reverse(arr, sz);

在运用reverse函数时,需要传输数组首元素地址和数组元素个数。

第二步

在reverse函数中,通过数组首元素地址和‘\0’前一位元素的地址解引用,使第一个元素和最后一个元素的内容互换,然后首元素地址++和末元素地址--,使整个数组逆序。

代码和运行截图

void reverse(char arr[],int sz)
{
	char* ptr = arr;
	char* p = arr + sz - 2;
	while (ptr < p)
	{
		char tmp = *ptr;
		*ptr = *p;
		*p = tmp;
		ptr++;
		p--;
	}
}
int main()
{
	char arr[] = { "hello bit" };
	int sz = sizeof(arr) / sizeof(arr[0]);
	printf("%s\n", arr);
	reverse(arr, sz);
	printf("%s\n", arr);
	return 0;
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值