写个新数据写入数组的0位置,老数据向后推移一位

maychard1121 2015-05-25 09:56:01
void Update( INT Peak )
{
INT i = 0;
while (i<40)
{
g_peak[i+1] = g_peak[i];
i++;
}
g_peak[0] = Peak;
}
代码如下,39的数组g_peak 比如 [1 2 3 4 5 6 7 8 9 10.... ]读入20变成 [20 1 2 3 4 5 6 7 8 9 10....]
但是我写的这个没法实现功能,请教下
...全文
291 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ClickMeEvery 2018-10-22
  • 打赏
  • 举报
回复
var list = [4,5,6]; list.push(7); var newList = list.sort(x => x !== 7) document.write(newList)
maychard1121 2015-05-25
  • 打赏
  • 举报
回复
谢谢各位,明白了
FightForProgrammer 2015-05-25
  • 打赏
  • 举报
回复
你一看就应该明白啊。 while (i<40) { g_peak[i+1] = g_peak[i]; i++; } 这样后面的元素都被覆盖了。 应该 i = 39; while(i>=0) { g_peak[i] = g_peak[i-1]; i--; }
brookmill 2015-05-25
  • 打赏
  • 举报
回复
从0到39循环是不行的,得反过来,从39到0才可以
lin5161678 2015-05-25
  • 打赏
  • 举报
回复
1 2 3 指向你的 i+1 = i 变成 1 1 3 再执行 i+i = i 变成 1 1 1 当然不行了 从后向前 i-1 = i

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧