Dann das Sourcefile 'zahlen.c':
#include "zahlen.h" int quersumme(int zahl) { if (!zahl) return 0; //zahl=0 => quersumme=0 else return (zahl%10 + quersumme(zahl/10)); // sonst quersumme=letzte Ziffer + Quersumme der ersten Ziffern } int teilbarDurch(int zahl, int teiler) { if (zahl%teiler) return TeiltNicht; // Teiler teilt Zahl nicht else return Teilt; // Teiler teilt Zahl }
Diese Aufteilung mag noch etwas umständlich erscheinen, aber
ihre Vorteile sind bei solch kleinen Beispielen schwer
demonstrierbar. Aber wenn man sich vorstellt, daß nicht zwei
sondern zwanzig Funktionen und nicht zwei sondern fünfzehn
Rückgabewerte definiert werden, dann kann man sich vielleicht
auch vorstellen, daß eine solche Aufteilung sowohl der
Lesbarkeit (ein Nutzer dieser Dateien braucht ja nur das headerfile
zu lesen) als auch der Geschwindigkeit des Compilers dient (er
braucht das Sourcefile ja nur bei Änderungen neu zu
compilieren).
Interessant wird diese Aufteilung auch im
Zusammenhang mit Objekten, dazu aber erst später mehr.