
Eine Funktion ohne Parameter ist wie ein Taschenrechner ohne Tasten. Mit Parametern kannst du Werte übergeben und mit Rückgabewerten das Ergebnis zurückbekommen. Das macht Funktionen erst wirklich mächtig! ⚡
📥 Parameter – Eingaben übergeben
Parameter sind Variablen in der Funktionsdefinition, die beim Aufruf mit konkreten Argumenten gefüllt werden:
/* Funktion mit einem Parameter */ void begruesse_person(char initial) { printf("Hallo, %c!\n", initial); } /* Funktion mit mehreren Parametern */ void addiere_und_zeige(int a, int b) { printf("%d + %d = %d\n", a, b, a+b); } int main() { begruesse_person('Ö'); // Argument: 'Ö' begruesse_person('A'); // Argument: 'A' addiere_und_zeige(5, 3); // a=5, b=3 return 0; }
Hallo, A!
5 + 3 = 8
📤 Rückgabewerte – return
Mit return gibt eine Funktion einen Wert zurück. Der Rückgabetyp muss vor dem Funktionsnamen stehen:
#include <stdio.h> /* Gibt das Maximum von zwei Zahlen zurück */ int maximum(int a, int b) { if (a > b) return a; else return b; } /* Berechnet Flächeninhalt eines Rechtecks */ float flaeche(float breite, float hoehe) { return breite * hoehe; } int main() { int m = maximum(17, 42); float f = flaeche(4.5f, 3.0f); printf("Max: %d\n", m); printf("Fläche: %.1f\n", f); return 0; }
Fläche: 13.5
📊 Übersicht: Funktionstypen
| Rückgabetyp | Parameter | Beispiel | Einsatz |
|---|---|---|---|
| void | Keine | void zeige() | Ausgabe, Initialisierung |
| void | Ja | void zeige(int n) | Formatierte Ausgabe |
| int | Ja | int max(int a, int b) | Berechnung zurückgeben |
| float | Ja | float flaeche(float b, float h) | Kommarechnung |
| int | Ja | int ist_gerade(int n) | Ja/Nein (1/0) |
✏️ Übungen
Funktionskopf schreiben
Schreibe den Funktionskopf (ohne Körper) für folgende Beschreibungen:
„Gibt das Minimum von zwei int-Zahlen zurück":
„Gibt 1 zurück wenn n durch 3 teilbar ist, sonst 0":
„Gibt nichts zurück, nimmt float Celsius und gibt Fahrenheit-Umrechnung aus":
Funktion lesen
Was gibt diese Funktion bei Aufruf ergebnis(3, 4) zurück?
int ergebnis(int x, int y) {
int r = x * x + y * y;
return r;
}
Rückgabewert:
Grundrechenarten als Funktionen
Schreibe vier Funktionen: addiere, subtrahiere, multipliziere, dividiere – alle nehmen zwei float-Parameter und geben float zurück. Teste sie in main().
BMI-Rechner als Funktion
Schreibe eine Funktion berechne_bmi(float gewicht, float groesse), die den BMI zurückgibt. Rufe sie in main() auf und gib das Ergebnis aus.
Maximum von drei Zahlen
Schreibe eine Funktion max3(int a, int b, int c), die das Maximum von drei Zahlen zurückgibt. Nutze dabei eine bereits vorhandene max2-Hilfsfunktion: