Главная / Программирование на языке C в Microsoft Visual Studio 2010 / В приведенной программе выполняется перераспределение памяти для увеличения размерности массива: #include <stdio.h> #include <stdlib.h> #define N 10 int main(void) { int i; int *arr = (int *)malloc(N*sizeof(int)); if (!arr) { printf("\nERROR!

В приведенной программе выполняется перераспределение памяти для увеличения размерности массива: #include <stdio.h> #include <stdlib.h> #define N 10 int main(void) { int i; int *arr = (int *)malloc(N*sizeof(int)); if (!arr) { printf("\nERROR! Out of memory in calloc() function. Press any key: "); _getch(); exit(1); }; for (i=0; i<N; i++) { arr[i] = i+1; printf("arr[%d] = %d\n", i, arr[i]); } arr = (int *)realloc(arr, (N+2)*sizeof(int)); if (!arr) { printf("\nERROR! Out of memory in realloc() function. Press any key: "); _getch(); exit(1); }; for (i=N; i<N+2; i++) { arr[i] = i+1; printf("arr[%d] = %d\n", i, arr[i]); } free(arr); return 0; } Какие изменения необходимо внести в программу для ее корректной работы?

вопрос

Правильный ответ:

для корректной работы программы не требуются изменения
для выделения памяти для хранения массива всегда должна использоваться функция calloc(N, sizeof(int))
добавление новых элементов в массив должно выполняться до перераспределения памяти
Сложность вопроса
90
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Экзамен прошёл на 4. Спасибо за ответы
07 янв 2020
Аноним
спасибо за ответ
20 ноя 2016
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.