用指针实现一维数组向右循环移动

来源:百度知道 编辑:UC知道 时间:2024/05/17 07:16:39
比如本来数组里有0,1,2,3,4,5,6,7,8,9,10(移动的次数由键盘输入)比如是3次,则结果为8,9,10,0,1,2,3,4,5,6,7,8,9

给你一个原来我写的关于字符串错位的程序,希望能对你有所启发
#include "stdio.h"
#include "string.h"
void main()
{
char a[100];
int m;
int i;
int n;
int t;
printf("enter a string:\n");
gets(a);
printf("想错位几个字符:\n");
scanf("%d",&t);
n = strlen(a);
for(m=0;m<t;m++)
{
for(i=n-1;i>=0;i--)
{
a[i+1] = a[i];
}
a[0] = a[n];
a[n] = '\0';
if(m==(t-1))
printf("输出结果%s\n",a);
}
}

很简单,双层循环就可以了