【C语言】请实现字符串循环右移函数。列如字符串“abcdefghi”向右移2位便是“hiabcdefg”

【C语言】请实现字符串循环右移函数。列如字符串“abcdefghi”向右移2位就是“hiabcdefg”
// 请实现字符串循环右移函数。列如字符串“abcdefghi”向右移2位就是“hiabcdefg”
// 函数原型为:void RightLoopMove(char *pstr,unsigned short steps)
#include <stdio.h>
#include <assert.h>
#include <string.h>
void severse(char *p,char *q)       //字符串翻转
{
	char temp;
	assert(p);
	assert(q);
	while(p<q)
	{
		temp=*p;
		*p=*q;
		*q=temp;
		p++;
		q--;
	}
}
void RightLoopMove(char *pstr,unsigned short steps)
{
	int len=strlen(pstr);
	severse(pstr,pstr+len-steps-1);       //前部分翻转
	severse(pstr+len-steps,pstr+len-1);   //后部分翻转
	severse(pstr,pstr+len-1);             //整体翻转
}
int main()
{
	char arr[]="abcdefghi";
	RightLoopMove(arr,2);
	printf("%s\n",arr);
	return 0;
}
【C语言】请实现字符串循环右移函数。列如字符串“abcdefghi”向右移2位便是“hiabcdefg”