kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

c_kitchen.c (711B)


      1 struct Pair {
      2     int a;
      3     int b;
      4 };
      5 
      6 union Box {
      7     int i;
      8     unsigned u;
      9 };
     10 
     11 enum Mode {
     12     MODE_ADD = 1,
     13     MODE_MUL = 2
     14 };
     15 
     16 static int apply(enum Mode mode, struct Pair p) {
     17     switch (mode) {
     18     case MODE_ADD:
     19         return p.a + p.b;
     20     case MODE_MUL:
     21         return p.a * p.b;
     22     default:
     23         return 0;
     24     }
     25 }
     26 
     27 int main(void) {
     28     struct Pair p = {.a = 6, .b = 7};
     29     union Box box = {.u = 40u};
     30     int values[3] = {1, 2, 3};
     31     int *cursor = values;
     32     int counter = 3;
     33     int total = apply(MODE_ADD, p);
     34 
     35     for (int i = 0; i < 3; ++i) {
     36         total += cursor[i];
     37     }
     38 
     39     if (total == 19 && box.i == 40) {
     40         total += counter;
     41     }
     42 
     43     return total == 22 ? 42 : 1;
     44 }