|
|
1.1 root 1: main()
2: {
3: int i; char *s;
4:
5: for (s = "bfnrtvx"; *s; s++)
6: printf("%c = 0x%x\n", *s, backslash(*s));
7: f();
8: g();
9: h();
10: for (i = 0x1000000; i&0x7000000; i += 0x1000000)
11: big(i);
12: limit();
13: return 0;
14: }
15:
16: backslash(c)
17: {
18: switch (c) {
19: case 'b':
20: return '\b';
21: case 'f':
22: return '\f';
23: case 'n':
24: return '\n';
25: case 'r':
26: return '\r';
27: case 't':
28: return '\t';
29: case 'v':
30: return '\v';
31: }
32: return c;
33: }
34:
35: f() {
36: int i, x = 0, y;
37:
38: printf("f:\n");
39: for (i = 0; i <= 20; i++) {
40: y = i;
41: switch (i) {
42: case 1: x = i; break;
43: case 2: x = i; break;
44: case 7: x = i; break;
45: case 8: x = i; break;
46: case 9: x = i; break;
47: case 16: x = i; break;
48: case 17: x = i; break;
49: case 18: x = i; break;
50: case 19: x = i; break;
51: case 20: x = i; break;
52: }
53: printf("x = %d\n", x);
54: }
55: }
56:
57: g() {
58: int i;
59:
60: printf("g:\n");
61: for (i = 1; i <= 10; i++)
62: switch (i) {
63: case 1: case 2: printf("1 %d\n", i); break;
64: case 3: case 4: case 5: printf("2 %d\n", i); break;
65: case 6: case 7: case 8: printf("3 %d\n", i);
66: default:
67: printf("d %d\n", i); break;
68: case 1001: case 1002: case 1003: case 1004:
69: printf("5 %d\n", i); break;
70: case 3001: case 3002: case 3003: case 3004:
71: printf("6 %d\n", i); break;
72: }
73: }
74:
75: h()
76: {
77: int i, n=0;
78:
79: printf("h:\n");
80: for (i = 1; i <= 500; i++)
81: switch (i) {
82: default: n++; continue;
83: case 128: printf("i = %d\n", i); break;
84: case 16: printf("i = %d\n", i); break;
85: case 8: printf("i = %d\n", i); break;
86: case 120: printf("i = %d\n", i); break;
87: case 280: printf("i = %d\n", i); break;
88: case 264: printf("i = %d\n", i); break;
89: case 248: printf("i = %d\n", i); break;
90: case 272: printf("i = %d\n", i); break;
91: case 304: printf("i = %d\n", i); break;
92: case 296: printf("i = %d\n", i); break;
93: case 288: printf("i = %d\n", i); break;
94: case 312: printf("i = %d\n", i); break;
95: }
96: printf("%d defaults\n", n);
97: }
98:
99: big(x) unsigned x; {
100: switch(x&0x6000000){
101: case -1:
102: case -2:
103: case 0x0000000:
104: printf("x = 0x%x\n", x); break;
105: case 0x2000000:
106: printf("x = 0x%x\n", x); break;
107: case 0x4000000:
108: printf("x = 0x%x\n", x); break;
109: default:
110: printf("x = 0x%x (default)\n", x); break;
111: }
112: }
113:
114: #include <limits.h>
115:
116: limit() {
117: int i;
118:
119: for (i = INT_MIN; i <= INT_MIN+5; i++)
120: switch (i) {
121: case INT_MIN: printf("0\n"); break;
122: case INT_MIN+1: printf("1\n"); break;
123: case INT_MIN+2: printf("2\n"); break;
124: case INT_MIN+3: printf("3\n"); break;
125: case INT_MIN+4: printf("4\n"); break;
126: default: printf("5\n"); break;
127: }
128: for (i = INT_MAX; i >= INT_MAX-5; i--)
129: switch (i) {
130: case INT_MAX: printf("0\n"); break;
131: case INT_MAX-1: printf("1\n"); break;
132: case INT_MAX-2: printf("2\n"); break;
133: case INT_MAX-3: printf("3\n"); break;
134: case INT_MAX-4: printf("4\n"); break;
135: default: printf("5\n"); break;
136: }
137: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.