给定两个数组,以便第一个数组具有足够的额外空间来容纳第二个数组的元素。如何在程序中不使用任何循环的情况下将第二个数组连接到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基础课程》。