C
- int isEven(int n) { return n % 2 == 0 ? 1 : 0; }
-
- int countEven(int argc, const int* const xs) {
- int result = 0;
- if (argc > 0) {
- result =
- isEven(xs[0]) +
- countEven(argc-1, &xs[1]);
- }
- return result;
- }
- int main(int argc, char **args) {
- int *vals = malloc((argc-1)*sizeof(int));
- for (int i = 1; i < argc; ++i) {
- char* end;
- vals[i-1] = strtol(args[i], &end, 10);
-
-
- }
- int numEven = countEven(argc-1, vals);
- printf("You entered %d even numbers\r\n", numEven);
-
- return 0;
- }