#include<stdio.h>
#include<string.h>
#include<malloc.h>
void shift(char* s,int n)
{
char* p;
char* q;
int len=strlen(s);
if(len==0)
return;
if(n<=0||n>=len)
return;
char* s2=(char*)malloc(len+1);//开辟空间+1用来储存'\0'
p=s;
q=s2+n%len;
while(*p)
{
*q++=*p++;
if(q-s2>=len)
{
*q='\0';//字符串的结尾标志
q=s2;
}
}
//
strcpy(s,s2);
free(s2);
}
int main()
{
int i;
char s[4];
scanf("%s",s);
shift(s,2);
printf("%s",s);
/* for(i=0;i<4;i++)
{
printf("%c",s[i]);
}
*/
return 0;
}
字符串循环右移
最新推荐文章于 2023-10-27 14:03:26 发布