C编程 - 将数组元素拆分为单独的字符

时间:2011-11-25 10:36:58

标签: c arrays split

假设我有一个数组= {2,3,ABCD}

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

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

他们应该彼此分开。我知道如何在java中执行此操作,但我不知道C中的语法是什么。非常感谢您的帮助。

2 个答案:

答案 0 :(得分: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 :(得分:0)

不需要额外的库:

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