Ich habe es mal als Bild geschickt, weil die Code Anzeige für C leider echt nicht schön ist auf der Seite ...
Schüler, Punkte: 455
Ja stimmt, müsste man dann noch etwas ändern oder würde das Programm dann trotzdem funktionieren ... ich kenne mich mit C nicht zu 100% aus, daher frage ich dich mal ...
─ daniel.kuenkel 21.02.2021 um 18:32Hallo Daniel, nö. Zu beachten ist lediglich, dass sizeof() die Größe des Elements liefert. C hat bei einem String am Ende ja noch den 0 Terminator. Deshalb ist bei einem String die Stringlänge sizeof() -1. sizeof() wird zur Compilezeit berechnet und im (Maschinen) Code dann als Konstante benutzt. strlen() ist ein Unterprogramm das jedes Mal ausgeführt wird. Vorteil strlen(): man kann dynamisch ändernde Längen verarbeiten. Nachteil: braucht jedes Mal Rechenzeit. Der Nachteil fällt allerdings normalerweise nur bei (schwachen) Mikroprozessor Steuerungen ins Gewicht. Bei einem PC merkst Du davon nichts.
strlen() ist die komfortablere Lösung. In der Aufgabe sollte sizeof() verwendet werden – wahrscheinlich um zu prüfen, ob man an das -1 denkt 😊
Gruß jobe
Hallo Jobe, danke für deine ausführliche Erklärung!
─ daniel.kuenkel 22.02.2021 um 16:31
Markdown wird unterstützt.
Hi Daniel, sollte man laut Aufgabe für die Schleifenlänge sizeof(text) -1 statt strlen(text) nehmen? Vielleicht interpretiere ich das auch falsch.
─ jobe 21.02.2021 um 17:51Gruß jobe