![]() |
Zitat:
Lösung für Konsolenanwendung am Beispiel für C: Code:
char eingabe[N]; |
obiges codesnip funktioniert mit sicherheit nicht.
folgender code aber schon (nicht sauber, aber es wird reichen): Code:
#include <stdio.h> |
Geh postet ihm wer eine Loesung in
a) Smalltalk b) Cobol c) PL/1 ? Was anderes hat er nicht verdient. Wahrscheinlich hat er am Montag Abgabe und ist noch immer so blunzenfett, dass er hier nicht einmal eine ordentliche Frage posten, noch die Antworten verstehen kann. |
b)
Code:
........ |
Grazie :D
|
five exclamation marks, the sure sign of an insane mind.
Terry Pratchett, Reaper Man |
@exafish: ich würde eher sagen, dein codeausschnitt funktioniert nicht.
du verwendest hier eine etwas eigenartige methode, um einzelne zeichen einzulesen - liest ja mal alles von stdin ein und teilst es dann zeichenweise dem ausgabepuffer zu. leider hast du vergessen, den ausgabepuffe rmit ascii 0 abzuschließen. sizeof(eingabe) liefert daher einen zufallswert. solltest den ausgabepuffer mit '\0' initialisieren. besser ist imho. die lösung von pong. ist aber alles in allem ein lustiger thread ! :lol: fg -hannes ps: kann bei bedarf noch eine lösung in C# nachliefern. |
Sag nix gegen mein cobol...
pong |
>@exafish: ich würde eher sagen, dein codeausschnitt funktioniert nicht.
@Biri: wundersamerweise laesst er sich compilieren und liefert korrekte ergebnisse. >du verwendest hier eine etwas eigenartige methode, um einzelne zeichen einzulesen - liest ja mal alles von stdin ein und teilst es dann zeichenweise dem ausgabepuffer zu. bitte den sourcecode genau ansehen und erst dann konkrete verbesserungen dazu abgeben. >leider hast du vergessen, den ausgabepuffe rmit ascii 0 abzuschließen. ja, richtig, da aber der ganze array ausgegeben wird(printf %c ->RTFM) und der c-string nicht weiterverarbeitet wird, spielt das keine rolle(ist eben wie oben erwaehnt schmutzig). >sizeof(eingabe) liefert daher einen zufallswert. dem ist nicht so. als rueckgabewert wird die groesse des arrays geliefert. wenn du darauf anspielst, dass somit unnoetigerweise der ganze array unabh. von der eingabelaenge am ende ausgegeben wird, stimmt das. >solltest den ausgabepuffer mit '\0' initialisieren. danke, das habe ich verschlafen. nicht initialisierter speicher fuehrt zu unerwartetem verhalten. >ist aber alles in allem ein lustiger thread ! das ist er! >ps: kann bei bedarf noch eine lösung in C# nachliefern. ich bitte darum, da du dich augenscheinlich mit programmieren beschaeftigst, wuerde mich jener interessieren, sowie als auch die C-version von dir, da ich meinen stil verbessern moechte. |
@exafish:
ich halte es wie gesagt in diesem fall besser, den ausgabestring zu initialisieren (mit Acsii 0) und statt sizeof dann strlen() zu verwenden - wenn man es auf die von dir beschriebene weise löst. ad. C#: sollte so gehen: PHP-Code:
(zeit von win 3.11, wo man noch eigenen tcpip prozess starten musste) fg -hannes |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 14:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag