Что напечатает следующая программа?
#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; }