Задачи по языку С

       

Записи 3. Массив ссылок на записи


Что напечатает следующая программа?

#include "defs.h"

struct S1 { char *s; struct S1 *s1p; };

main() { static struct S1 a[] = { { "abcd", a+1 }, { "efgh", a+2 }, { "ijkl", a } }; struct S1 *p[3]; int i; (Записи 3.1)

for (i=0; is, (*p)->s, (**p).s); (Записи 3.2)

swap(*p,a); PRINT3(s, p[0]->s, (*p)->s, (*p)->s1p->s); (Записи 3.3)

swap(p[0],p[0]->s1p); PRINT3(s, p[0]->s, (*++p[0]).s, ++(*++(*p)->s1p).s); (Записи 3.4)

}

swap(p1,p2) struct S1 *p1, *p2; { char *temp;

temp = p1->s; p1->s = p2->s; p2->s = temp; }





Содержание раздела