c语言数组移位
时间: 2023-07-03 22:07:36 浏览: 149
在C语言中,移位数组可以使用循环和临时变量完成。以下是一个示例代码,将数组向右移动k个位置:
```c
#include <stdio.h>
void array_shift(int arr[], int n, int k) {
int temp[k];
for (int i = n - k, j = 0; i < n; i++, j++) {
temp[j] = arr[i];
}
for (int i = n - k - 1; i >= 0; i--) {
arr[i + k] = arr[i];
}
for (int i = 0; i < k; i++) {
arr[i] = temp[i];
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int k = 2;
array_shift(arr, n, k);
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
4 5 1 2 3
```
在这个示例中,我们首先将最后k个元素存入一个临时数组中。然后,我们将数组中的元素向右移动k个位置,以便为临时数组腾出空间。最后,我们将临时数组中的元素复制回数组的前k个位置,从而完成了移位操作。
阅读全文
相关推荐

















