diff options
Diffstat (limited to 'lcc/tst/switch.c')
-rwxr-xr-x | lcc/tst/switch.c | 274 |
1 files changed, 137 insertions, 137 deletions
diff --git a/lcc/tst/switch.c b/lcc/tst/switch.c index 0cd48de..dd62d79 100755 --- a/lcc/tst/switch.c +++ b/lcc/tst/switch.c @@ -1,137 +1,137 @@ -main()
-{
- int i; char *s;
-
- for (s = "bfnrtvx"; *s; s++)
- printf("%c = 0x%x\n", *s, backslash(*s));
- f();
- g();
- h();
- for (i = 0x1000000; i&0x7000000; i += 0x1000000)
- big(i);
- limit();
- return 0;
-}
-
-backslash(c)
-{
- switch (c) {
- case 'b':
- return '\b';
- case 'f':
- return '\f';
- case 'n':
- return '\n';
- case 'r':
- return '\r';
- case 't':
- return '\t';
- case 'v':
- return '\v';
- }
- return c;
-}
-
-f() {
- int i, x = 0, y;
-
- printf("f:\n");
- for (i = 0; i <= 20; i++) {
- y = i;
- switch (i) {
- case 1: x = i; break;
- case 2: x = i; break;
- case 7: x = i; break;
- case 8: x = i; break;
- case 9: x = i; break;
- case 16: x = i; break;
- case 17: x = i; break;
- case 18: x = i; break;
- case 19: x = i; break;
- case 20: x = i; break;
- }
- printf("x = %d\n", x);
- }
-}
-
-g() {
- int i;
-
- printf("g:\n");
- for (i = 1; i <= 10; i++)
- switch (i) {
- case 1: case 2: printf("1 %d\n", i); break;
- case 3: case 4: case 5: printf("2 %d\n", i); break;
- case 6: case 7: case 8: printf("3 %d\n", i);
- default:
- printf("d %d\n", i); break;
- case 1001: case 1002: case 1003: case 1004:
- printf("5 %d\n", i); break;
- case 3001: case 3002: case 3003: case 3004:
- printf("6 %d\n", i); break;
- }
-}
-
-h()
-{
- int i, n=0;
-
- printf("h:\n");
- for (i = 1; i <= 500; i++)
- switch (i) {
- default: n++; continue;
- case 128: printf("i = %d\n", i); break;
- case 16: printf("i = %d\n", i); break;
- case 8: printf("i = %d\n", i); break;
- case 120: printf("i = %d\n", i); break;
- case 280: printf("i = %d\n", i); break;
- case 264: printf("i = %d\n", i); break;
- case 248: printf("i = %d\n", i); break;
- case 272: printf("i = %d\n", i); break;
- case 304: printf("i = %d\n", i); break;
- case 296: printf("i = %d\n", i); break;
- case 288: printf("i = %d\n", i); break;
- case 312: printf("i = %d\n", i); break;
- }
- printf("%d defaults\n", n);
-}
-
-big(x) unsigned x; {
- switch(x&0x6000000){
- case -1:
- case -2:
- case 0x0000000:
- printf("x = 0x%x\n", x); break;
- case 0x2000000:
- printf("x = 0x%x\n", x); break;
- case 0x4000000:
- printf("x = 0x%x\n", x); break;
- default:
- printf("x = 0x%x (default)\n", x); break;
- }
-}
-
-#include <limits.h>
-
-limit() {
- int i;
-
- for (i = INT_MIN; i <= INT_MIN+5; i++)
- switch (i) {
- case INT_MIN: printf("0\n"); break;
- case INT_MIN+1: printf("1\n"); break;
- case INT_MIN+2: printf("2\n"); break;
- case INT_MIN+3: printf("3\n"); break;
- case INT_MIN+4: printf("4\n"); break;
- default: printf("5\n"); break;
- }
- for (i = INT_MAX; i >= INT_MAX-5; i--)
- switch (i) {
- case INT_MAX: printf("0\n"); break;
- case INT_MAX-1: printf("1\n"); break;
- case INT_MAX-2: printf("2\n"); break;
- case INT_MAX-3: printf("3\n"); break;
- case INT_MAX-4: printf("4\n"); break;
- default: printf("5\n"); break;
- }
-}
+main() +{ + int i; char *s; + + for (s = "bfnrtvx"; *s; s++) + printf("%c = 0x%x\n", *s, backslash(*s)); + f(); + g(); + h(); + for (i = 0x1000000; i&0x7000000; i += 0x1000000) + big(i); + limit(); + return 0; +} + +backslash(c) +{ + switch (c) { + case 'b': + return '\b'; + case 'f': + return '\f'; + case 'n': + return '\n'; + case 'r': + return '\r'; + case 't': + return '\t'; + case 'v': + return '\v'; + } + return c; +} + +f() { + int i, x = 0, y; + + printf("f:\n"); + for (i = 0; i <= 20; i++) { + y = i; + switch (i) { + case 1: x = i; break; + case 2: x = i; break; + case 7: x = i; break; + case 8: x = i; break; + case 9: x = i; break; + case 16: x = i; break; + case 17: x = i; break; + case 18: x = i; break; + case 19: x = i; break; + case 20: x = i; break; + } + printf("x = %d\n", x); + } +} + +g() { + int i; + + printf("g:\n"); + for (i = 1; i <= 10; i++) + switch (i) { + case 1: case 2: printf("1 %d\n", i); break; + case 3: case 4: case 5: printf("2 %d\n", i); break; + case 6: case 7: case 8: printf("3 %d\n", i); + default: + printf("d %d\n", i); break; + case 1001: case 1002: case 1003: case 1004: + printf("5 %d\n", i); break; + case 3001: case 3002: case 3003: case 3004: + printf("6 %d\n", i); break; + } +} + +h() +{ + int i, n=0; + + printf("h:\n"); + for (i = 1; i <= 500; i++) + switch (i) { + default: n++; continue; + case 128: printf("i = %d\n", i); break; + case 16: printf("i = %d\n", i); break; + case 8: printf("i = %d\n", i); break; + case 120: printf("i = %d\n", i); break; + case 280: printf("i = %d\n", i); break; + case 264: printf("i = %d\n", i); break; + case 248: printf("i = %d\n", i); break; + case 272: printf("i = %d\n", i); break; + case 304: printf("i = %d\n", i); break; + case 296: printf("i = %d\n", i); break; + case 288: printf("i = %d\n", i); break; + case 312: printf("i = %d\n", i); break; + } + printf("%d defaults\n", n); +} + +big(x) unsigned x; { + switch(x&0x6000000){ + case -1: + case -2: + case 0x0000000: + printf("x = 0x%x\n", x); break; + case 0x2000000: + printf("x = 0x%x\n", x); break; + case 0x4000000: + printf("x = 0x%x\n", x); break; + default: + printf("x = 0x%x (default)\n", x); break; + } +} + +#include <limits.h> + +limit() { + int i; + + for (i = INT_MIN; i <= INT_MIN+5; i++) + switch (i) { + case INT_MIN: printf("0\n"); break; + case INT_MIN+1: printf("1\n"); break; + case INT_MIN+2: printf("2\n"); break; + case INT_MIN+3: printf("3\n"); break; + case INT_MIN+4: printf("4\n"); break; + default: printf("5\n"); break; + } + for (i = INT_MAX; i >= INT_MAX-5; i--) + switch (i) { + case INT_MAX: printf("0\n"); break; + case INT_MAX-1: printf("1\n"); break; + case INT_MAX-2: printf("2\n"); break; + case INT_MAX-3: printf("3\n"); break; + case INT_MAX-4: printf("4\n"); break; + default: printf("5\n"); break; + } +} |