Die geschweifte Klammer gehört HINTER dem Kopf der Funktion.

Statt #include "inttypes.h" muss es #include <inttypes.h> heißen, weil diese Datei im include-Verzeichnis des Compilers und nicht im lokalen Verzeichnis liegt.

Dann gibt es neue Fehler:

t.c:20: error: 'length' redeclared as different kind of symbol
t.c:10: error: previous definition of 'length' was here
>> Es gibt diese Variable zweimal: einmal als Pointer-Parameter, und einmal lokal.

t.c:65: error: stray '\264' in program
>>Schau genau hin, dann findest du das störende Zeichen.

t.c:71: warning: assignment makes integer from pointer without a cast
t.c:81: warning: incompatible implicit declaration of built-in function 'printf'
t.c:81: warning: passing argument 1 of 'printf' makes pointer from integer without a cast
>>Kommt von der doppelten Deklaration von lenght


Und den Unterschied zwischen = und == kennst du immer noch nicht!