Aufgabenstellung:
Entwickeln Sie in C ein Unterprogramm markText, das in einem String s (char-Array) jedes Vorkommen eines als Parameter übergebenen Buchstabens durch eine Unterstreichung davor und dahinter markiert. Der Prototyp des Unterprogramms lautet: char * markText( char* s, char sel). Der Rückgabewert ist ein pointer auf das neu erstellte char-Array, in dem die Markierung vorgenommen wurde.
...
Verwenden Sie keine Bibliotheksfunktionen für die Stringoperationen außer strlen!
Nochmal die Punkte, warum dein Lehrer keine Ahnung hat (und du nach Abschluss dieser Lehrveranstaltung auch keine haben wirst (wenn du deinem Lehrer folgst)):
- Speicherbereiche für Nutzdaten werden NICHT lokal INNERHALB fachlicher Funktionen erzeugt (der vorgegebene Prototyp verlangt dies aber zwingend), sondern AUSSERHALB und dergestalt, dass das free auf selber Ebene abläuft
- "keine Bibliotheksfunktionen..." zu verlangen, ist Schwachsinn und überführt deinen Lehrer nur der Faulheit, sich vernünftige Aufgabenstellungen zu überlegen (wozu natürlich auch Ahnung von C zwingend ist)
- const-Qualifzierer für den Ausgangsstring ist hier Pflicht (gerade für Anfänger führt dies dann forciert Compilerwarnungen, die dich beim Implementieren unterstützen können; dazu muss man sie natürlich auch einschalten und beachten)
- "...ist ein pointer auf das neu erstellte char-Array..." ist falsch, ein Zeiger auf ein char-Array ist vom Typ char()[], dort steht aber char (ungleiche und inkompatible Typen (die bei Dereferenzierung UB bedeuten))