数组循环移动mci
#include <stdio.h>
int main()
{
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int m = 3;
int n = sizeof(a) / 4;
int i;
int *p;
for(i=0; i<m; i++){
p = a + n-1;
//保存10
int temp;
temp = *p;
//10前面的元素一次往后移动
while(p>a){
*p = *(p-1);
p--;
}
//把10放到第一个位置
*p = temp;
}
for(p=a; p<a+10; p++){
printf("%-4d", *p);
}
printf("\n");
return 0;
}
-
思路:
1先移动一次
保存数组最后一个元素值
将数组元素一次往后移动一个位置
把保存的最后一个元素值放到数组第一个位置上
2循环移动m次
-
用指针操作数组元素
-
数组名
- 数组名存放的是地址,是常量(不可被赋值),不可更改,
-
多多尝试用指针操作数组
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了