Files
ioccc/1987/korn
Landon Curt Noll e00d20111d rename .inventory.html -> inventory.html
Due to GitHub not serving nor rendering HTML files whose filename
starts with "." (dot), we renamed `.inventory.html` to `inventory.html`.

Renamed: `tmp/gen_dot_winner.sh` -> `tmp/gen_winner_json.sh`
Fixed URL generation for GitHub links in `inventory.html`.

The manifest was updated accordingly.

The `tmp/README.md` file was updated accordingly.
2023-11-06 02:23:30 -08:00
..
2023-11-01 00:47:43 -07:00
2020-12-30 16:57:03 -08:00
2023-07-06 21:49:38 -07:00
2023-11-01 03:36:29 -07:00

To build:

make all

To use:

./korn

Judges' remarks:

The Judges believe that this is the best one line entry ever received. Compile on a UNIX system, or at least one using a C implementation that fakes it. Very few people are able to determine what this program does by visual inspection. I suggest that you stop reading this section right now and see if you are one of the few people who can.

Several points are important to understand this program:

  1. What is the symbol unix and what is its value in the program? Clearly unix is not a function, and since unix is not declared to be a data type (such as int, char, struct foo, enum, ...) what must unix be?

  2. What is the value of the symbol "have"? (hint: the value is NOT 4 characters, or 'h', or a string) Consider the fact that:

char *x;

defines a pointer to a char (i.e. an address), and that the = assigns things of compatible types. Since:

x = "have";

is legal C, what type of value is "have"?

  1. Note that the following expressions yield the same value:
x[3]	*(x+3)	  *(3+x)

since addition is commutative. What can be said about this value?

3[x]

David Korn's /bin/ksh provides us with a greatly improved version of the /bin/sh. The source for v7's /bin/sh greatly inspired this contest.

Author's remarks:

No remarks were provided by the author.

This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved. You are free to share and adapt this file under the terms of this license:

Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

For more information, see: https://creativecommons.org/licenses/by-sa/4.0/