]> Pileus Git - ~andy/sfvlug/blob - c/src/duff.c
Add C notes.
[~andy/sfvlug] / c / src / duff.c
1 #include <stdio.h>
2 #include <string.h>
3
4 void duff(const char *str)
5 {
6         int len = strlen(str);
7         int div = len / 8;
8         int rem = len % 8;
9
10         switch (rem) {
11                 case 0: while (div--) {
12                                 putchar(*str++);
13                 case 7:         putchar(*str++);
14                 case 6:         putchar(*str++);
15                 case 5:         putchar(*str++);
16                 case 4:         putchar(*str++);
17                 case 3:         putchar(*str++);
18                 case 2:         putchar(*str++);
19                 case 1:         putchar(*str++);
20                         }
21         }
22 }
23
24 int main(int argc, char **argv)
25 {
26         duff("Hello, World\n");
27         return 0;
28 }