make
./cable1 name group1 group2
./try.sh
Partisan may be defined as a strong supporter of a cause, party or person. We need not limit ourselves to the two major political parties in the US today.
Let us consider:
./cable1 Cooper Mac PC
Simon works for Apple, so you would expect Mac. :-) Landon is a long time Mac user:
./cable1 Noll Mac PC
That works too! Now Leo brings PCs to the IOCCC judging for cross-platform testing:
./cable1 Broukhis Mac PC
We can test other people. The late Steve Jobs:
./cable1 Jobs Mac PC
That works! How about Bill?
./cable1 Gates Mac PC
A PC guy as expected. What about that other Steve?
./cable1 Ballmer Mac PC
Humm .. maybe there is a hidden reason he is leaving the late Micro$oft? :-) Why late? Because:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- An important 2023 update about twitter:
The IOCCC no longer uses twitter. Today the IOCCC uses Mastodon. For more information and to see our IOCCC Mastodon posts, see:
https://fosstodon.org/@ioccc
End of important 2023 update to this historic note. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
So how does a one line C source know so much? Hint: it doesn’t.
Politics is full of memorable one-liners. Without wishing to misunderestimate the taste of the judges, nor prejudge the past, the author hopes you enjoy this contribution to the genre.
This one-line C program accepts as a first command-line argument the last name of any of the last 31 US Presidents (from Franklin Pierce onwards), in lower case, and prints out their political affiliation.
Use republican
as the 2nd command-line argument, and democrat
as the 3rd (or
equivalent strings of your choice).
The program looks up the name supplied on the command line against a list of Presidents’ names, and matches names to political affiliations using a look-up table. But where in the source is the list of names, and where is the look-up table?
For Theodore Roosevelt, use: ./cable1 roosevelt republican democrat
.
But, for Franklin D Roosevelt, use: ./cable1 fdr republican democrat
.
This program needs a little endian CPU to work properly.
clang
warns about a missing type specifier for main()
, and that implicit
function declarations are invalid in C99 (but still accepts them).