swa*_*wap 2 c++ position shift memcpy
我需要移动数组并使用在给定位置插入一个新元素memcpy.
Input: 2, 5, 7, 0, 0, 0
Expected output: 2, 3, 5, 7, 0, 0
Actual output: 2, 3, 5, 0, 0, 0
Run Code Online (Sandbox Code Playgroud)
我的错了memcpy吗?(我必须使用数组 - 不是std::vectors)
#include <stdio.h>
int main()
{
int i=0;
int len=0;
int a[6] = {'\0'};
a[0]= 2;
a[1] = 5;
a[2]= 7;
len=3;
int b=0;
b = 2;
memcpy(a+2, a+1, b * sizeof(int));
//memcpy(a+2, a+1, sizeof(int) * (len-1));
a[1]=3;
for(i=0;i<6;i++)
printf("after %d \n", a[i]);
}
Run Code Online (Sandbox Code Playgroud)