我已经用C语言定义了一个数组,我想实现一个代码,我可以在数组中间插入一个新值(数组中除第一个和最后一个位置以外的任何位置).因此,我编写了一个函数,它将接受三个参数--数组、我想要放置新值的位置,以及要插入该位置的值.但是当我执行程序时,最后一个元素丢失了,它显示了最后一个值5,但在旧的数组中,最后一个元素不是5.你能告诉我我做错了什么吗?
#include <stdio.h>
void resize(int arr[], int position, int value);
int main(void)
{
int arr[] = { 10, 20, 60, 80, 10 };
resize(arr, 3, 90);
for (int i = 0; i < 6; i++)
{
printf("%d\n", arr[i]);
}
}
void resize(int arr[], int position, int value)
{
for (int i = 5; i >= position; i--)
{
arr[i] = arr[i - 1];
}
arr[position - 1] = value;
}