#include <iostream.h> struct Alphabet (
int i;
char c;
) sA[5]=(1,'a',2,'b',3,'c',4,'d',5,'e'),*psA=&sA[0];

int main(){
for (int k=0; k<4; k++){
psA++;
cout<<psA->c;
}
cin.get();
}


#include <iostream.h> struct Alphabet ( int i; char c; ) sA[5]=(1,'a',2,'b',3,'c',4,'d',5,'e')

Klot0708 Klot0708    3   27.08.2020 19:52    0

Ответы
Ka4erga3000 Ka4erga3000  15.10.2020 16:22

Был создан массив 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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика

Популярные вопросы