summaryrefslogtreecommitdiff
path: root/reference/C/EXAMPLES/switch.c
diff options
context:
space:
mode:
Diffstat (limited to 'reference/C/EXAMPLES/switch.c')
-rw-r--r--reference/C/EXAMPLES/switch.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/reference/C/EXAMPLES/switch.c b/reference/C/EXAMPLES/switch.c
new file mode 100644
index 0000000..0e232da
--- /dev/null
+++ b/reference/C/EXAMPLES/switch.c
@@ -0,0 +1,37 @@
+/**************************************************************************
+ *
+ * Purpose: Program to demonstrate the 'switch/case' structure.
+ * Method: Prog looks at the number of parameters passed to it and
+ * tells the user how many its got.
+ * Author: M J Leslie
+ * Date: 09-Apr-94
+ *
+ **************************************************************************/
+
+main(int argc, char *argv[])
+{
+
+ switch (argc) /* Switch evaluates an expression (argc) */
+ {
+ /* If expression resolves to 1, jump here */
+ case 1:
+ puts("Only the command was entered.");
+ break; /* break - cases the execution to jump
+ out of the 'switch' block. */
+
+ /* If expression resolves to 2, jump here */
+ case 2:
+ puts("Command plus one parm entered");
+ break;
+
+ /* If expression resolves to 3, jump here */
+ case 3:
+ puts("Command plus two parm entered");
+ break;
+
+ /* Any other value jumps here. */
+ default:
+ printf("Command plus %d parms entered\n", argc-1);
+ break;
+ }
+}