Martin z. schrieb:
> Thomas Eckmann schrieb:
>> Martin z. schrieb:
>>> Ich möchte hinzufügen das ich mich mit C nochtnicht so gut auskenne und
>>> daher den Code nicht vollständig verstehe.
>
> danke jetzt bin ich schonmal schlauer :)
Es hilft aber nichts. Ohne C-Buch kommst du nicht weit. Wie man ja ganz
deztlich wieder einmal sieht. Und ich möchte hinzufügen, wie schon viele
hunderte male vor dir (und hunderte male nach dir)
Die Afteilung in C ist so, dass Funktionen normalerweise nicht
geschachtelt werden. D.h. man schreibt es so
1 | void foo()
|
2 | {
|
3 | ...
|
4 | }
|
5 |
|
6 | void bar()
|
7 | {
|
8 | ...
|
9 | }
|
10 |
|
11 | int main()
|
12 | {
|
13 | foo(); // Aufruf der Funktion foo
|
14 | bar(); // Aufruf der Funktion bar
|
15 | }
|
du hast die Definitionen geschachtelt definiert
1 | int main()
|
2 | {
|
3 | ...
|
4 |
|
5 | void foo()
|
6 | {
|
7 | ...
|
8 | }
|
9 |
|
10 | void bar()
|
11 | {
|
12 | ...
|
13 | }
|
14 |
|
15 | foo();
|
16 | bar();
|
17 | }
|
das heißt, du hast die Funktionsdefinition in eine ander Funktion
hineingezogen. Das ist zwar eigentlich nicht erlaubt, der gcc hat aber
eine experimentelle Erweiterung dafür.
Zieh mal deine Funktionsdefinitionen raus und schreib das so, wie man
das richtig schreibt.
Und siehe da. Organsiert man sich das entsprechend, dann stellt man
fest: Deine Funktionen werden überhaupt nicht aufgerufen! In main()
kommt kein einziger Aufruf der Funktionen vor!
All das (und noch viel mehr) hättest du dir locker selbst beantworten
können, wenn du ein C-Buch hättest und das auch (zumindest das erste
Drittel) durchgearbeitet hättest. Mit anlassbezogenem Erfragen von
Achtelwissen in Foren kommt man eben nicht weit.