首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教怎么把一个数组的值循环填充进另一个数组?这是一个算法的小疑点

2013-04-21 
请问如何把一个数组的值循环填充进另一个数组?这是一个算法的小问题!有个字符数组;char first[3]first[0]

请问如何把一个数组的值循环填充进另一个数组?这是一个算法的小问题!
有个字符数组;
char first[3];
first[0] = '0';
first[1] = '1';

first[2] = '2';

char second[20];
我想second填入后的形式如下:
second[0] = '0';second[2] = '1';
second[3] = 'x';sencond[4] = 'x';
second[5] = '2';second[6] = '0';
second[7] = 'x';sencond[8] = 'x';
second[9] = '1';sencond[10] = '2';以此类推
比较明显的效果如下
01 xx 20 xx 12 xx 01 xx………………
[解决办法]

    char first[3];
    first[0] = '0';
    first[1] = '1';
    first[2] = '2';

    char second[20];
    int j = 0;
    for (int i = 0; i < 20; i+=4)
    {
        second[i] = first[j%3];
        second[i+1] = first[(j+1)%3];
        second[i+2] = 'X';
        second[i+3] = 'X';
        j += 2;
    }

    // 打印出来看看
    for (int i = 0; i != 20; i++)
    {
        printf("%c" ,second[i]);
    }

直接以字符串%s显示second不可以,因为缺少结束符,尾巴会有乱码

热点排行