// mp1.c by Douglas Jones -- logical operator version #include #include "/mnt/nfs/clasnetappvm/fs3/dwjones/mp1data.h" void printit( char * s ) { /* s points to a null-terminated string */ while (*s != '\0') { /* for each character in s */ if (*s & 0x80) { /* high bit set when *s is a relative substring pointer */ printit( s - (*s & 0x7F) ); } else { /* high bit reset when *s is an ASCII character */ putchar( *s ); } s++; } } int main() { printit( mp1data ); }