编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefg” 函数头是这样的:
//pStr是指向以'\0'结尾的字符串的指针//steps是要求移动的n
char *strcpy(char* dest, const char *src);把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
#include <iostream>
using namespace std;
void move(char* pStr,int steps){
if (pStr == NULL)return;
int n = strlen(pStr) - steps;
char* tmp = new char[strlen(pStr)];
strcpy(tmp,pStr+n);
strcpy(tmp + steps, pStr );
tmp[strlen(pStr)] = '\0';//
strcpy(pStr, tmp);
}
int main(){
char a[20];
int steps;
cin >> a;
cin >> steps;
move(a, steps);
cout << a;
system("pause");
return 0;
}