Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C中从数组中的一组元素创建字符串_C_Arrays_String_Substring_Cs50 - Fatal编程技术网

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

在C中从数组中的一组元素创建字符串,c,arrays,string,substring,cs50,C,Arrays,String,Substring,Cs50,是否有一种方法可以从从现有数组中获取的一组元素中创建字符串 示例:假设我有一个由四个字符组成的数组 #include <cs50.h> #include <stdio.h> #include <string.h> int main (void) { char abcd[] = "abcd"; string sabcd = "0"; } #包括 #包括 #包括 内部主(空) { 字符abcd[]=“abcd”; 字符串sabcd=“0”; } 是否有一种方

是否有一种方法可以从从现有数组中获取的一组元素中创建字符串

示例:假设我有一个由四个字符组成的数组

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

int main (void)
{
char abcd[] = "abcd";
string sabcd = "0";
}
#包括
#包括
#包括
内部主(空)
{
字符abcd[]=“abcd”;
字符串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];
    }
#include <stdio.h>
#include <string.h>

int main (void)
{
    char abcd[] = "abcd";
    char bc[3] = "";
    strncpy(bc, abcd + 1, 2);
    puts(bc);
}
字符abcd[]=“abcd”;
对于(int i=0;i,您始终可以为希望子字符串具有的字符编制索引

例如:

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

另一种方法是使用,如下所示:

char abcd[] = "abcd";

for(int i=0; i<4; i++){
    for(int j=i; j<4; j++){
        d = abcd[i] + abcd[j];
    }
#include <stdio.h>
#include <string.h>

int main (void)
{
    char abcd[] = "abcd";
    char bc[3] = "";
    strncpy(bc, abcd + 1, 2);
    puts(bc);
}
#包括
#包括
内部主(空)
{
字符abcd[]=“abcd”;
字符bc[3]=“”;
strncpy(bc,abcd+1,2);
看跌期权(bc);
}
输出:

卑诗省


C中没有字符串类型。从技术上讲,数组
abcd
是一个五个字符的数组,因为它将包含字符串终止符。请转到此处。对于您的问题,char ac[3]={abcd[0],abcd[2],'\0'如何?当然,您可以使用循环和一些适当的条件来设置新数组
ac
。如果您尝试了一些内容,但在尝试时遇到了问题,那么您可以返回一个新问题,包括a,并就您遇到的任何问题寻求帮助。此外,还需要一些时间。对不起,我认为这段简短的代码足以说明我的观点。我正在做一些更大的工作,但很混乱,似乎不适合在这里发布。我会阅读你的建议。谢谢。