make all
./try.sh
This program computes all proper subsets of the set of arguments passed to it. Each subset is printed with one element on each line, followed by a line of ten dashes.
The program has the following charming and possibly non-portable features:
It has no local or global variables, only the command-line parameters.
It calls main()
recursively.
It alters the command-line parameters.
It uses the fact that if the high bit is set in a character variable, the value is negative.