Dass C nur die drittunkomfortabelste Sprache nach Maschinencode und Assembler ist, ist mir wohl bekannt. Aber meinetwegen kannst du die Funktion auch mit'm Abakus realisieren - Hauptsache, es wird!
Zitat von Rayydar im Beitrag #107Ou jou! Durchbruch! Durchbruch! Durchbruch!
(solang's nicht der Blinddarm ist )
Dass C nur die drittunkomfortabelste Sprache nach Maschinencode und Assembler ist, ist mir wohl bekannt. Aber meinetwegen kannst du die Funktion auch mit'm Abakus realisieren - Hauptsache, es wird!
C soll unkomfortabel sein? C ist eine meiner lieblingssprachen. Schnell, einfach und vollen Zugriff auf die Pointer. Mann braucht sich noch nicht mal mit Objektorientierung herumärgern wie in C++. Naja, C++ ist auch super. Man muss eben wissen wie und für was man die Sprachen einsetzt. Unkomfortabel ist eher Visual Basic 6 oder Brainfuck
Schon die Definition von string2 vor string1 ist irgendwie typisch für die leicht chaotische C-Programmier-Denke; ich habe das im zweiten Beispiel nur zwecks Vergleichbarkeit so gelassen. Und dann die Zuweisung, für die man explizit eine Funktion aufrufen muss! Bei den Initialisierungen geht's aber mit Gleichheitszeichen.
Hinzu kommt: - Man muss bei jedem Funktionsaufruf wissen, was Quell- und was Zielfeld ist. Beim = ist das klar. - Dass C keinen wirklichen Datentyp STRING kennt, sondern nur Char-Arrays, die man oft auch noch explizit mit \0 begrenzen muss, ist einer echten Hochsprache nicht würdig.
Übrigens kann man auch in PL/1 auf alles per POINTER zugreifen - aber man muss es nicht! Ich habe mal für die IBM in einem Konvertierungsprojekt PL/1 => C mitgemischt. Vorgabe: 1:1. Der reine Horror! Da kamen in C manchmal 5-fach geschachtelte Pointerketten raus!
Aber ich will dich bestimmt nicht ärgern oder dir dein C madig machen. Solange du damit so wunderbare Verbesserungen zauberst, ist das eine super Sprache!
Um noch was Konstruktives beizusteuern: Um das Limit von 100 auf 128 Einheiten zu ändern, würde ich so vorgehen: 1. Alle num. Literale 100 durch 128 ersetzen. 2. Testen.
Denn: a) Es gibt m.W. keinen anderen relevanten Grenzwert 100 in dem Programm. b) Selbst wenn der Datentyp ein signed smallint ist, passen da 127 rein.
Man muss IMHO ein Programm oft gar nicht verstehen, um es zu ändern. Ich habe schon Programme in Sprachen gewartet, die ich überhaupt nicht kannte. Natürlich ist die Erfolgschance < 100% - aber einen Versuch ist's doch wert, oder?
Ja, das Rechnen mit Buchstaben (bzw. deren ASCII-Wert) ist auch so ein Highlight von C. Du kannst z.B. aus 'Para' 'Qbsb' machen, indem du in einer Schleife auf jedes Zeichen 1 draufaddierst. Das kann dein Leben enorm bereichern!