2011-11-25 62 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); 
相關問題