vorausgesetzt, man hätte hier eine klare aufgabenstellung, würde ich gerne hilfestellung geben.
auch wenn ich weiter oben konkreten code gepostet habe, wäre mit einer komplettlösung hier eigentlich keinem geholfen.
wenn es ein teil dieser aufgabe ist, zeichen in einem c-string zu zählen, dann implementiere doch einmal eine solche funktion (hinweise dazu sind weiter oben). eine funktion, die die länge eines strings ermitteln soll (analog zu strlen()), braucht als argument zb. einen zeiger auf diesen string (das ist im obigen fall der bezeichner des char-arrays) und als rückgabewert zB einen integer; dies ist vermutl. 2) und die signatur/prototyp würde zB so aussehen:
int myStrlen(const char *);
zur 3) soll diese funktion vermutlich derart erweitert werden, dass sie auch für das einlesen von der standardeingabe zuständig ist und anstelle der anzahl der zeichen eine zeichenkette mit dem ausgabetext beinhaltet. hierzu siehe mein codebeispiel oben. bei dieser variante wird das char-array in main() definiert und der zeiger dieses arrays wird der funktion übergeben, sodass diese auf den ihnhalt zugreifen kann (modifizieren in dem fall). eigentlich müsste diese funktion garnichts zurück geben, da mit dem übergeben der _referenz_ der inhalt, der durch das char-array bezeichnet ist, direkt manipulierbar ist (call by reference); mögliche signatur:
void myStrlen(const char*);
in dem fall würde beim aufruf aus main() heraus als argument das deklarierte array angegeben werden. in der funktion würde dieses array dann mit dem ergebnistext (der vermutlich in main() ausgegeben werden soll) beschrieben werden (siehe auch hierzu codebeisp. oben).