2011-11-25 64 views
0

可以说我有一个数组= {2,3,ABCD}C程序 - 分割的数组元素为单独的字符

首先,需要使第三元件为一个新的数组。而且我知道char newArr [] = array [2]不会工作,所以我该怎么做呢?

其次,我需要逐个打印出newArr的字符。所以我的输出应该是一个 乙 Ç d

他们应该相互分开。我知道如何在java中做到这一点,但我不知道C中的语法是什么。非常感谢您的帮助。

+0

你应该当你问[功课](州http://meta.stackexchange.com/questions/ 10811 /)在你的问题开始。此外,请说明您所做的工作以及在哪里,特别是您遇到问题。否则,你就是在作弊,当你进入测试阶段或者(上帝帮助我们)进入劳动力队伍时,你没有服务。 – outis

+0

@outis嗯,这是一个家庭作业问题的一部分,这个问题被间接询问,并且在我正在处理的500行程序中没有用。我是一个Java程序员,我只是学习C语法。你不需要粗鲁... –

+0

即使它不是一个完整的作业问题,仍然应该指出它是作业。充分披露是必要的,以避免作弊。我永远不会说你应该发布完整的源代码。离得很远; [示例代码](http://sscce.org/)应该是完整和简洁的。 – outis

回答

1

喜欢的东西:

char *array[] = {"2", "3", "ABCD"}; // your existing array. 
char n  = strlen(array[2]); // size of 2nd element. 
char *newArr = malloc(n);   // create new array. 
int i; 

// populate the new array. 
for(i=0;i<n;i++) { 
     newArr[i] = array[2][i]; 
}  

// print. 
for(i=0;i<n;i++) { 
     printf("%c\n",newArr[i]); 
}  
+1

信息太多。 – outis

0

无需额外所需的函数库:

typedef struct {char x[100];}helper; 
    char *a[]={"2","3","ABCD"}, b[100]; 
    *(helper*)b=*(helper*)a[2]; 
    puts(b); 
相关问题