Главная /
Программирование на языке C в Microsoft Visual Studio 2010 /
В приведенной программе функция Copy выполняет копирование одной структуры типа sale в другую и возвращает структуру этого же типа: typedef struct sale_struct { char *title; int price; } sale; sale Copy(sale); int main(void) { sale s1,s2; struct sale_stru
В приведенной программе функция Copy
выполняет копирование одной структуры типа sale
в другую и возвращает структуру этого же типа:
typedef struct sale_struct {
char *title;
int price;
} sale;
sale Copy(sale);
int main(void)
{
sale s1,s2;
struct sale_struct s3, s4;
s1.title = "Book";
s1.price = 200;
s3.title = "Cake";
s3.price = 60;
return 0;
}
sale Copy(sale s) {
sale s1;
s1 = s;
return s1;
}
Какие из перечисленных вызов функции Copy
являются верными?
вопрос
Правильный ответ:
s2 = Copy(s1);
s3 = Copy(s1);
s4 = Copy(&s3);
Сложность вопроса
65
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
Какой человек находит данные вопросы интуит? Это же совсем для даунов
18 янв 2019
Другие ответы на вопросы из темы программирование интуит.
- # В какой программе используются вложенные структуры?
- # Необходимо решить задачу поиска пути между двумя городами. Карта дорог представлена в виде графа: [Большая Картинка]Процесс поиска представлен как последовательность шагов. На каждом шаге с использованием некоторого критерия выбирается точка, в котороую можно попасть из текущей. Если очередная выбранная точка совпала с заданной конечной точкой, то маршрут найден. Если не совпала - выполняется еще один шаг. Поскольку текущая точка может быть соединена с несколькими другими, то сначала выбирается точка с наименьшим номером. Для решения задачи задана программа (для появснения в программе приведены комментарии): #define N 8 void step(int, int, int); int map[N][N]; // карта: map[i,j]!=0, если точки i и j соединены int road[N]; // маршрут - номера точек карты int incl[N]; // incl[i]==1, если точка с номером i включена в road int start; // начальная точка маршрута int finish; // конечная точка маршрута int i, j; int main (void) { // инициализация массивов for (i=1; i<=N; i++) road[i] = 0; for (i=1; i<=N; i++) incl[i] = 0; for (i=1; i<=N; i++) for (j=1; j<=N; j++) map[i][j] = 0; // ввод значений элементов карты map[1][2] = 1; map[2][1] = 1; map[1][3] = 1; map[3][1] = 1; map[1][4] = 1; map[4][1] = 1; map[3][4] = 1; map[4][3] = 1; map[3][7] = 1; map[7][3] = 1; map[4][6] = 1; map[6][4] = 1; map[5][6] = 1; map[6][5] = 1; map[5][7] = 1; map[7][5] = 1; map[6][7] = 1; map[7][6] = 1; printf("Введите через пробел номер начальной и конечной точек: "); scanf("%d %d", &start, &finish); road[1] = start; // внести точку в маршрут incl[1] = 1; // пометить точку как включенную step(start, finish, 2); return 0; } void step(int s, int f, int p) { int c; // номер точки, в которую делается очередной шаг int i; if (s==f) { printf("Путь: "); for (i=1; i<=p-1; i++) printf("%d ", road[i]); printf("\n"); } else { // выбор очередной точки for (c=1; c<=N; c++) // проверка всех вершин if (map[s][c]!=0 && incl[c]==0) { // точка соединена с текущей и не включена в маршрут <Рекурсивный вызов - вариант 1> road[p] = c; // добавление вершины в путь incl[c] = 1; // пометка вершины как включенной <Рекурсивный вызов - вариант 2> incl[c] = 0; road[p] = 0; <Рекурсивный вызов - вариант 3> } } } В каком из отмеченных мест программы необходимо выполнить рекурсивный вызов функции step(c, f, p+1);?
- # Что произойдет при выполнении приведенной программы: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <locale.h> #ifndef ARR #define ARR #include <arr.txt> #endif int main (void) { int i = 0 , j = 0, n; setlocale (LC_ALL, "rus"); printf("Введите количество человек (от 1 до 3): "); scanf("%d", &n); if (n<1 || n>3) { printf("Ошибка ввода данных. Нажмите любую клавишу: "); _getch(); exit(1); } #ifdef ARR for (i=0; i<n; i++) printf("%d. %s %s\n", i+1, names[i], surnames[i]); #endif return 0; } Содержание подключаемого файла arr.txt: char *names[] = {"Иван", "Пётр", "Илья"}; char *surnames[] = {"Иванов", "Пётров", "Ильин"};
- # Почему язык С относится к языку среднего уровня?
- # Какой оператор используется для выхода из функции при выполнении некоторых условий?