Главная /
Программирование на языке C в Microsoft Visual Studio 2010 /
В приведенной программе выполняется перераспределение памяти для увеличения размерности массива: #include <stdio.h> #include <stdlib.h> #define N 10 int main(void) { int i; int *arr; arr = (int *)realloc(arr, (N+2)*sizeof(int)); for (i=0; i<
В приведенной программе выполняется перераспределение памяти для увеличения размерности массива:
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main(void)
{
int i;
int *arr;
arr = (int *)realloc(arr, (N+2)*sizeof(int));
for (i=0; i<N; i++) {
arr[i] = i+1;
printf("arr[%d] = %d\n", i, arr[i]);
}
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;
}
Какие изменения нужно внести в программу для ее корректной работы?
вопрос
Правильный ответ:
для корректной работы программы не требуются изменения
изменить размер в функции выделения памяти
изменить синтаксис функции освобождения памяти
инициализировать указатель
arr
Сложность вопроса
80
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
Пишет вам помощник профессора! Прямо сейчас уничтожьте сайт vtone.ru с ответами на интуит. Пишу жалобу
30 окт 2017
Другие ответы на вопросы из темы программирование интуит.
- # Задана программа, в которой реализовано три функции: Init - функция инициализации структуры, Print - функция вывода структуры на экран, Modify - функция изменения полей структуры: typedef struct { char fio[30]; char phone[20]; int age; } note; note Init(char*, char*, int); void Print(note*); void Modify(note); int main(void) { note n[3], *pn; char *strName[3] = {"Ivanov I.", "Pertov P.", "Sidorov S."}; char *strPhone[3] = {"12-34-56", "78-90-12", "34-56-78"}; int i, age = 25; for (i=0; i<3; i++) { n[i] = Init(strName[i], strPhone[i], age+i); pn = &n[i]; Print(pn); } Modify(n[0]); pn = &n[0]; Print(pn); return 0; } note Init(char* f, char* p, int a) { note n, *pn; pn = &n; strcpy(pn->fio, f); strcpy(pn->phone, p); pn->age = a; return n; } void Print(note *pn) { printf("\nName: %s", pn->fio); printf("\nPhone: %s", pn->phone); printf("\nAge: %d\n", pn->age); } void Modify(note n) { strcpy(n.fio, "Vasiliev V."); strcpy(n.phone, "89-01-23"); n.age = 30; } Какие функции соответсвуют поставленной задаче?
- # Какие новые объекты создаются при рекурсивном вызове функции?
- # Что является достоинством языка С?
- # Игра "Угадай число" заканчивавается, если задуманное число угадано, или количество попыток достигло определенного значения, например, 10. Главный цикл игры реализован следующим образом: int c = 0, n = 100, m; do { printf("Ваш вариант: "); scanf("%d", &m); c++; } while <Условие> c - число попыток, n - задуманное число. Каким должно быть условие завершения игры?
- # Какие утверждения являются верными для статически распределяемой памяти?