从 C 中的数组中的一组元素创建一个字符串

Creating a string from a set of elements from an array in C

有没有办法从现有数组中的一组元素创建一个字符串?

示例:假设我有一个包含四个字符的数组

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

int main (void)
{
char abcd[] = "abcd";
string sabcd = "0";
}

有什么方法可以用数组元素的子集创建字符串,例如 "ac"、"cd" 等等?

已编辑:添加了库以进行说明。

您可以像这样遍历数组元素:

char abcd[] = "abcd";

for(int i=0; i<4; i++){
    for(int j=i; j<4; j++){
        d = abcd[i] + abcd[j];
    }

您始终可以索引您希望子字符串具有的字符。

例如:

char adb[4] = {abcd[0], abcd[3], abcd[1], '[=10=]'};

另一种方法是使用 strncpy(),像这样:

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

int main (void)
{
    char abcd[] = "abcd";
    char bc[3] = "";
    strncpy(bc, abcd + 1, 2);
    puts(bc);
}

输出:

bc