在C prog中将2个数组复制到1个数组中

寻求

我如何将2个单独的2D数组复制到1个数组中,我在下面描述了我的意思:

我有1个数组:a,b,c我有第二个数组:d,e,f

我希望第三个数组同时具有上述两个数组:第三个数组:a,b,c,d,e,f

到目前为止,我的代码只是获取两个数组的值,在打印第三个数组时我注释掉了:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){
    int i,j,count;

    char ar1[3][10]={"a","b","c"};
    char ar2[3][10]={"d","e","f"};
    char ar3[6][10];

    for (i=0;i<3;i++){
        printf("%s\n",ar1[i]);
    }
    for (i=0;i<3;i++){
        printf("%s\n",ar2[i]);
    }
    printf('new array:\n');
//  for (i=0;i<6;i++)
//      printf("%s\t\n",ar3[i]);
}
来自莫斯科的弗拉德

由于最右边的数组尺寸相等,因此将两个数组合二为一的最简单方法是

#include <stdio.h>
#include <string.h>

int main(void) 
{
    char ar1[3][10] = { "a", "b", "c" };
    char ar2[3][10] = { "d", "e", "f" };
    char ar3[6][10];

    memcpy( ar3, ar1, sizeof( ar1 ) );
    memcpy( ar3 + 3, ar2, sizeof( ar2 ) );  

    for ( size_t i = 0; i < 6; i++ )
    {
        puts( ar3[i] );
    }

    return 0;
}

输出是

a
b
c
d
e
f

另一种方法是使用函数分别复制每个字符串 strcpy

#include <stdio.h>
#include <string.h>

int main(void) 
{
    char ar1[3][10] = { "a", "b", "c" };
    char ar2[3][10] = { "d", "e", "f" };
    char ar3[6][10];

    size_t j = 0;
    for ( size_t i = 0; i < 3; i++, j++ )
    {
        strcpy( ar3[j], ar1[i] );
    }

    for ( size_t i = 0; i < 3; i++, j++ )
    {
        strcpy( ar3[j], ar2[i] );
    }

    for ( size_t i = 0; i < 6; i++ )
    {
        puts( ar3[i] );
    }

    return 0;
}

输出将与上面相同

a
b
c
d
e
f

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在C编程中将一个数组复制到另一个数组

在指向结构的指针中将一个数组的内容复制到另一个数组中 | C

如何将对象数组中的内容复制到C ++中的另一个数组中?

将所有数组元素复制到C中的另一个数组中

将字符串数组复制到C中的另一个数组中

将未排序的C数组复制到另一个数组中,同时避免重复

将指针数组值复制到C中另一个数组的末尾

c指针和数组,将内容复制到另一个数组中

如果我尝试将一个数组复制到C中的另一个数组时出现错误消息

在C中交换2个数组

在CPU上使用OpenCL将一个数组复制到另一个数组比C ++代码慢得多

将字符串字节数组内容复制到另一个数组中,并将前缀0复制到C#中的个位数

在 C++ 中的多个线程中将表从一个数据库复制到另一个数据库

如何在C编程中将一个数组绑定到另一个数组?

在C#中将2个本地字符串[]添加到单个数组中

在C中的数组中打印2个数字并跳过2个数字

C ++:2个数组之间的差异

在C中交换2个数组时遇到的困难

目标C将数组复制到另一个索引为1的数组

将数组作为元素放置到C中的另一个数组

如何在Go中将数组复制到另一个数组中?

C循环中2个数组之间的加速复制

C ++数组到一个数字

将 2 个数组的排序合并到 C 中的第三个数组中

在 C 中将一个数组中的所有其他元素添加到另一个数组中

在C ++中将两个3 x 3数组连接为一个数组

如何将 Json 中的 2 个数组解析为 C# 中的 2 个列表?

试图在 C 中返回一个数组

C#从数组中删除一个数字