定义函数,将字符串循环右移n个字符,例如abcde循环右移两位: deabc
函数接口定义:
1
void fun(char *str,int n)
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:#include <stdio.h>
void fun(char *str,int n);
int main()
{
char s[20];
int n;
scanf("%s%d", s,&n);
fun(s,n);
printf("%s", s);
return;}
麻烦讲下思路谢谢
void fun(char *str,int n)
{
int str_n = strlen(str);
if (str_n == 0 || n < 0)
return;
int st = n % str_n;
char temp[128];
memcpy(temp,str+str_n-st,st);
memcpy(temp+st,str,str_n-st);
memcpy(str, temp, str_n);
}