1 #include <stdio.h>
2 
3 int a[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
4 int b[9];
5 int dummy;
6 
nullify()7 void nullify()
8 {
9     int i;
10     for (i = 0; i < 9; i++)
11         b[i] = 0;
12 }
13 
for_loop()14 void for_loop()
15 {
16     int i;
17     for (i = 0; i < 9; i++)
18         b[i] = a[i];
19 }
20 
while_loop()21 void while_loop()
22 {
23     int i = 9;
24     while (i--)
25         b[i] = a[i];
26 }
27 
do_while_loop()28 void do_while_loop()
29 {
30     int i = 0;
31     do {
32         b[i] = a[i];
33         i++;
34     } while (i < 9);
35 }
36 
nested_for_loop()37 void nested_for_loop()
38 {
39     int i;
40     int j;
41     for (i = 0; i < 3; i++)
42         for (j = 0; j < 3; j++)
43             b[i+j] = a[i+j];
44 }
45 
nested_while_loop()46 void nested_while_loop()
47 {
48     int i = 0;
49     while (i < 3) {
50         int j = 0;
51         while (j < 3) {
52             b[i+j] = a[i+j];
53             j++;
54         }
55         i++;
56     }
57 }
58 
nested_do_while_loop()59 void nested_do_while_loop()
60 {
61     int i = 0;
62     do {
63         int j = 0;
64         do {
65             b[i+j] = a[i+j];
66             j++;
67         } while (j < 3);
68         i++;
69     } while (i < 3);
70 }
71 
break_for_loop()72 void break_for_loop()
73 {
74     int i;
75     int j;
76     for (i = 0; i < 16; i++) {
77         if (i == 9) {
78             break;
79         }
80         b[i] = a[i];
81     }
82 }
83 
break_do_while_loop()84 void break_do_while_loop()
85 {
86     int i = 0;
87     int j;
88     do {
89         b[i] = a[i];
90         if (i == 8) {
91             break;
92         }
93         i++;
94     } while (i < 16);
95 }
96 
symbolic_loop()97 void symbolic_loop()
98 {
99     int i = 0;
100     for (i = 0; i < 9; i++) {
101         if (dummy == i)
102             break;
103         b[i] = a[i];
104     }
105 }
106 
main()107 void main()
108 {
109     for_loop();
110     nullify();
111     while_loop();
112     nullify();
113     do_while_loop();
114     nullify();
115     nested_for_loop();
116     nullify();
117     nested_while_loop();
118     nullify();
119     nested_do_while_loop();
120     nullify();
121     break_for_loop();
122     nullify();
123     break_do_while_loop();
124     nullify();
125     symbolic_loop();
126 }
127