假设我有一个数组= {2,3,ABCD}
首先,我需要使第三个元素等于一个新数组。我知道char newArr [] = array [2]不会工作,所以我该怎么做呢?
其次,我需要逐个打印出newArr的字符。所以我的输出应该是 一个 乙 C d
他们应该彼此分开。我知道如何在java中执行此操作,但我不知道C中的语法是什么。非常感谢您的帮助。
答案 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);