📜  如何在不使用C语言的循环的情况下连接两个整数数组?

📅  最后修改于: 2021-05-25 21:23:03             🧑  作者: Mango

给定两个数组,以便第一个数组具有足够的额外空间来容纳第二个数组的元素。如何在程序中不使用任何循环的情况下将第二个数组连接到C中的第一个数组?

例子:

Input: arr1[5] = {1, 2, 3}
       arr2[]  = {4, 5}
Output: arr1[] = {1, 2, 3, 4, 5}

强烈建议您最小化浏览器,然后自己尝试。

提示:我们可能在C语言中使用库函数。

这个想法是在C语言中使用memcpy()或memmove()。

// arr1[] is of size m+n and arr2[] is of size n. This function
// appends contents of arr2[] at the end of arr1[]
void concatenate(int arr1[], int arr2[], int m, int n)
{
   memcpy(arr1 + m, arr2, sizeof(arr2)); 
}

有关完整的运行代码,请参见此。

感谢Utkarsh Trivedi提出上述解决方案。

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。