Главная /
Программирование на языке C в Microsoft Visual Studio 2010 /
В приведенной программе выполняется перераспределение памяти для увеличения размерности массива: #include <stdio.h> #include <stdlib.h> #define N 10 int main(void) { int i; int *arr; for (i=0; i<N; i++) { arr[i] = i+1; printf("arr[%d] = %d\
В приведенной программе выполняется перераспределение памяти для увеличения размерности массива:
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main(void)
{
int i;
int *arr;
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;
}
Определите, есть ли в этой программе ошибки?
вопрос
Правильный ответ:
в программе нет ошибок
используется неинициализированный указатель
выполняется неверное перераспределение памяти
выполняется неверное освобождение памяти
Сложность вопроса
95
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
Какой человек ищет вот эти ответы по интуит? Это же изи
22 июл 2018
Аноним
Если бы не данные ответы - я бы не осилил c этими тестами интуит.
22 апр 2017
Другие ответы на вопросы из темы программирование интуит.
- # Какой файл будет создан в результате выполнения приведенной программы? int main (void) { struct student { char *name; char *surname; int group; int ses[5]; double av; struct student *p; } st; FILE *fp; int i, sum = 0; st.name = "Ivan"; st.surname = "Ivanov"; st.group = 1024; st.ses[0] = 5; st.ses[1] = 4; st.ses[2] = 5; st.ses[3] = 5; st.ses[4] = 5; for (i=0; i<5; i++) sum +=st.ses[i]; st.av = sum/5; if ((fp = fopen("g:\\marks.txt", "w+t")) == 0) printf("Open file error"); else { fprintf(fp, "Name: %s %s\n", st.surname, st.name); fprintf(fp, "Group: %d\n", st.group); fprintf(fp, "Average mark: %.2f\n\n", st.av); fclose(fp); }; return 0; }
- # В приведенной программе происходит инициализация структуры данных о студенте и последующий вывод этих данных: struct student { char fio[30]; int group; float average; }; struct student Init(char*, int, float); void Print(struct student*); int main(void) { struct student s, *st; int i; st = Init("Ivanov I.", 3801, 5.00); Print(st); return 0; } struct student Init(char* n, int i, float f) { struct student s, *st; st = &s; strcpy(st->fio, n); st->group = i; st->average = f; return s; } void Print(struct student *st) { printf("\nName: %s", st->fio); printf("\nGrouproup: %d", st->group); printf("\nAverage mark: %.2f\n", st->average); } Какие утверждения являются верными для приведенной программы?
- # Для каких переменных не допускается применение спецификатора register? int min(int, int); int t; int main(void) { int x=-5, y=5, m; m = min(x,y); printf("min = %d\n", m); return 0; } int min(int a, int b) { int m = (a<b) ? a : b; return m; }
- # При выполнении какого варианта программы определения дня недели при вводе числа 8 на экране будет выведено сообщение Ошибка! Вы ввели неверное число?
- # Какая программа вычисляет сумму только четных элементов массива?