用for循环逐步移动即可。
#include
// 所有元素前移一个位置,0号元素移到最后
void loopMove(int *dat, int len)
{
int tem = dat[0];
for (int i = 0; i < len-1; i++)
dat[i] = dat[i+1];
dat[len-1] = tem;
}
void output(int *dat, int len)
{
for (int i = 0; i < len; i++)
printf("%d ", dat[i]);
printf("\n");
}
int main()
{
int a[10]= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, len = 10;
printf("原始数据:");
output(a, len);
loopMove(a, len);
printf("第一次:");
output(a, len);
loopMove(a, len);
printf("第二次:");
output(a, len);
return 0;
}
保存0下标 这个元素 , 然后依次实现移位, 最后将保存元素 赋值给数组末
#include
#include
int main()
{
char str[6];
int i,j,count;
char value1;
printf("请输入一串字符串:\n");
scanf("%s",str);
value1=str[0];
for(i=1;i<6;i++)
str[i]=str[i+1];
str[6]=value1;
printf("str:%s\n",str);
}
# include
int main(void)
{
long i[8] = {1, 2, 3, 4, 5, 6, 7, 8};
long j, k;
k = i[0];
for (j=0; j<7; j++)
{
i[j] = i[j+1];
}
i[7] = k;
for (j=0; j<8; j++)
printf("%-5d", i[j]);
putchar('\n');
return 0;
}