在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,并就您遇到的任何问题寻求帮助。此外,还需要一些时间。对不起,我认为这段简短的代码足以说明我的观点。我正在做一些更大的工作,但很混乱,似乎不适合在这里发布。我会阅读你的建议。谢谢。