2009-12-16 16 views
0

paxdiablo給出了它與char數組一起使用的以前的答案..我可以知道如何使用int數組爲相同的下面的代碼?我有相同的結構問題爲int數組

,如:

struct encode { 
    int code[MAX]; //instead char code[MAX] 
} a[10]; 

int main() { 
    int i, j; 
    int x[] = {3,0,2,5,9,3,1}; 
    //instead char x[] = {'3','0','2','5','9','3','1','\0'}; 
    for(i = 0; i < 1; i++) { 
     for(j = 0; j < 7; j++) { 
      printf("%d", x[j]); 
     } 
     printf("\n"); 

     a[0].code=x; 
     //strcpy(a[0].code, x); for char 

    } 
    printf("%d\n",a[0].code); 
    //printf("%s\n",a[0].code); for char 
    return 0; 
} 

喜歡娛樂可以在此爲int數組做什麼?提前致謝。

+0

'a [0] .code'的類型是什麼?它是一個'int'嗎?當你用'%d'打印格式時,你期望輸出是什麼? – 2009-12-16 03:55:45

+0

如果你無法解決完全相同的問題而又不回去尋求幫助,我不確定你是不是一個程序員。 – 2009-12-16 03:56:28

+0

你能澄清這個問題嗎?我不明白一件事。 – 2009-12-16 03:57:17

回答

1

參考答案從您剛纔的問題question on struct with char array

  • 使用memcpy複製的整數 數組元素。
  • 使用%d如果您想打印 整數。
+0

我只問了鏈接中的上一個問題..%d的memcpy打印出內存而不是inter數組。有什麼我失蹤。? – meg 2009-12-16 04:06:52

+0

是的。這就是爲什麼我要求引用答案並使用memcpy而不是strcpy來複制整數。 – 2009-12-16 04:16:45

0

一些問題對你來說,下面的所有片段是從您的代碼:

  1. 在下面,有什麼的x[j]類型。 %c期望什麼類型?

    printf("%c", x[j]);

  2. 什麼是下面a[0].code類型?它是一個數組,具有分配給它的預定義內存。您對上述說明有何期望?

    a[0].code=x;
  3. 再次,什麼是a[0].code類型? %d格式期望什麼?

    printf("%d\n",a[0].code);

上述所有問題的答案是簡單的,還是應該在任何教科書可用。

通過試錯法編程不起作用。你應該找到一本很好的參考書和一本好書,並思考你在做什麼。

作爲第一步,請回答我上面提出的問題,希望您能夠自己解決大部分錯誤。

+0

謝謝阿洛克。我在「%d」而不是「%c」&a [0] .code類型中的錯誤是'int',但編譯a [0]時x也是int。給 「賦值中的不兼容類型」。我使用了memcpy(encd [k])。代碼,c,sizeof c);但是printf的結果值(「%d」,a [0] .code);給8731424這是內存,而不是我所期待的「3025931」。我曾與char []給出了所需的結果..但是當int數組不會給出相同的結果。 這就是我需要int x [] = {3,2,4,5,6}將它存儲在結構中,並顯示回像「32456」。謝謝我會改變原來的片段,這是合作。 – meg 2009-12-16 04:41:47

+0

'a [0] .code'不是'int',因爲你將它聲明爲一個int類型的數組*!請嘗試根據您的代碼回答這些問題,而不是基於您希望他們成爲什麼樣的人。 – 2009-12-16 04:51:09