diff --git a/20200123/loesung-2.c b/20200123/loesung-2.c new file mode 100644 index 0000000000000000000000000000000000000000..7a277e7b514d05e3bffbb59cd09fc5f63a18e26a --- /dev/null +++ b/20200123/loesung-2.c @@ -0,0 +1,30 @@ +#include <stdio.h> + +void foreach (int *a, void (*fun) (int x)) +{ + for (int *p = a; *p >= 0; p++) + fun (*p); +} + +void even_or_odd (int x) +{ + if (x % 2) + printf ("%d ist ungerade.\n", x); + else + printf ("%d ist gerade.\n", x); +} + +int sum = 0; + +void add_up (int x) +{ + sum += x; +} + +int main (void) +{ + int numbers[] = { 12, 17, 32, 1, 3, 16, 19, 18, -1 }; + foreach (numbers, add_up); + printf ("Summe: %d\n", sum); + return 0; +}