1.编写函数实现移动字符串相关内容的功能
2.移动规则:把字符串中第1到第m个字符平移到字符串的最后,把第m+1到最后的字符平移到字符串的最前面
#include<stdio.h>
#define N 100
int main()
{
void move(char *s,int m);
char s[N];
int m;
printf("\n输入字符串:");
gets(s);
printf("\n移动字符个数为:");
scanf("%d",&m);
move(s,m);
printf("\n输出字符串:");
puts(s);
return 0;
}
void move(char *s,int m)
{
int i,j;
char temp;
for(i=1;i<=m;i++)
{
temp=*s;
for(j=1;*(s+j)!='\0';j++)
*(s+j-1)=*(s+j);
*(s+j-1)=temp;
*(s+j)='\0';
}
}
3.运行结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a0efef954bc8ae0748bedd96f68d1532.png)
4.总结
其实无论向左平移还是向右平移道理都一样,向右平移就临时变量每次记录字符串的最后一个字符,除了最后一个位置的字符不平移,其他位置字符向右平移完后临时变量记录的最后一个位置字符赋值给字符串的第一个字符。