В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Elka29677
Elka29677
23.02.2022 09:18 •  Информатика

Создайте карту знаний с отображением роли информационных технологий в различных сферах жизни и работы современного человека.

Показать ответ
Ответ:
Dinobot774
Dinobot774
20.05.2021 20:16

Был создан массив sA типа struct Alphabet, состоящий из 5 элементов и выглядит он так:

1a2b3c4d5e

Так как в структуре имеется 2 переменных, то при создании массива этого массива sA[5]=(1,'a',2,'b',3,'c',4,'d',5,'e'):

1 элемент будет состоять из двух переменных - это 1a (то есть i = 1, c = 'a')

1a

2 элемент будет состоять из двух переменных - это 2b (то есть i = 2, c = 'b')

2b

3 элемент будет состоять из двух переменных - это 3c (то есть i = 3, c = 'c')

3c

4 элемент будет состоять из двух переменных - это 4d (то есть i = 4, c = 'd')

4d

5 элемент будет состоять из двух переменных - это 5e (то есть i = 5, c = 'e')

5e

Так как это массив, то эти все элементы будут идти друг за другом:

1a2b3c4d5e

sA[0] = 1a

sA[1] = 2b

sA[2] = 3c

sA[3] = 4d

sA[4] = 5e

Дальше создается указатель *psA типа struct Alphabet

Ему присваивают начальный адрес массива, то есть адрес элемента sA[0]

Цикл k=0:

Так как указатель psA имеет такой же тип, как и массив, то он может спокойно перемещаться по элементам этого массива и в строке psA++ он перемещается на следующий элемент: psA = sA[1]

И на экран выводится значение переменной c элемента sA[1] ,

psA->c =  b

Цикл k = 1

Указатель psA перемещается на следующий элемент: psA = sA[2]

И на экран выводится значение переменной c элемента sA[2] ,

psA->c =  c

Цикл k = 2

Указатель psA перемещается на следующий элемент: psA = sA[3]

И на экран выводится значение переменной c элемента sA[3] ,

psA->c =  d

Цикл k = 3

Указатель psA перемещается на следующий элемент: psA = sA[3]

И на экран выводится значение переменной c элемента sA[3] ,

psA->c =  e

Цикл k = 4

Цикл завершается, так как k < 4 (4 < 4), условие не выполняется, 4 не может быть больше себя.

В итоге на экран выведется:

bcde

ответ: C

0,0(0 оценок)
Ответ:
погипж
погипж
05.06.2021 11:02

Преобразуем выражение в (++a)+(++(*b))+(c++).

Сигнатура функции f(int a, int *b, int &c). Первая переменная приходит по значению, вторая - по указателю, третья - по ссылке. Это значит, что изменения переменных b и с в функции будут влиять на переданные переменные.

Итак, мы имеем переменные

a = 3; b = 1; c = 2;

Передаём переменные в функцию как f(c, &b, a). Здесь а и с меняются местами.

В функции получаем

a = 2; b = 1; c = 3;

++a - увеличивает переменную на 1 и возвращает 3. a = 3

++(*b) - увеличивает переменную на 1 и возвращает 2. b = 2

с++ - возвращает 3 и увеличивает переменную на 1. с = 4.  

Получаем return 3 + 2 + 3 (=8)

Переменные перед выходом

a = 3; b = 2; c = 4;

Выходим из функции. Не забываем про связь между переменными в вызове f(c, &b, a).

Значит после выхода переменные равны

a = 4; b = 2; c = 2 (передавалась по значению);

z = 8.

На выход будет подано 4228.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота