У меня такой же вопрос структуры для массива int - PullRequest
0 голосов
/ 16 декабря 2009

paxdiablo дал предыдущий ответ для работы с массивом char. Могу ли я узнать, как работать с массивом int для того же кода ниже?

LIKE:

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;
}

Как show, это можно сделать для массива int? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 16 декабря 2009

См. Ответ на ваш предыдущий вопрос вопрос о структуре с массивом символов

  • Используйте memcpy, чтобы скопировать целое число элементы массива.
  • используйте %d, если хотите распечатать целые числа.
0 голосов
/ 16 декабря 2009

Некоторые вопросы к вам, все нижеприведенные фрагменты взяты из вашего кода:

  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);

Ответы на все приведенные выше вопросы просты или должны быть доступны в любом учебнике.

Программирование не работает методом проб и ошибок . Вы должны найти хороший справочник и хороший учебник и подумать о том, что вы делаете.

В качестве первого шага, пожалуйста, ответьте на вопросы, которые я задал выше, и, надеюсь, вы сможете исправить большинство своих ошибок самостоятельно.

...