On Thursday 31 May 2001 13:13, Sebastian Roth wrote:
ich möchte gerne ein kleines Programm schreiben (um ein wenig C zu lernen). Jenes soll physikalische Gleichungen ausrechnen können. Allerdings gibt es ein Problem. Versucht mal das Weg-Zeit Gesetz bei einer gleichförmigen Bewegung. Wenn man dann die erste gesuchte Variable (s) eingeben soll, wars das, ende.
Zumindest in der korrigierten Fassung tritt das bei mir nicht auf... Zugegeben gvar, war einer der Teile, die ich korrigiert habe....
Mit einem ddd habe ich einen exit-code 16 festgestellt. Wenn ich allerdings dir Variable gvar als integer initialisiere, klappt es! Warum denn das nun?
Also exitcode 16 klingt schonmal sehr seltsam. Normalerweise kommt bei dieser Fehlerklasse ein Segmentation Fault (Signal SIGSEGV, Nummer 11) und der produziert im normalen Modus (ohne Signal-Handler) einen Exitcode 127.
16 habe ich noch nie gesehen! (Es sei denn ich habe ihn selbst definiert.)
Der Compiler meldet keinen Fehler auch beim compilieren mit gvar=char. Da bin ich doch schon etwas ratlos. Kennt sich einer aus?
Logisch. Der Compiler kann solche Fehler nicht entdecken.
Was verwendest Du für ein System? SuSE X.y? Debian? Rotkäppchen?
Was Deine Idee mit char statt int angeht: wahrscheinlich möchtest Du, dass man einfach eine Taste drückt und nicht noch Enter hinterherdrücken muss - oder? Das kann man mit ANSI-C nicht machen, dazu müsstest Du weiter in die POSIX-Programmierung eindringen. Aber ich würde Dir empfehlen Dich erstmal ein paar Wochen oder Monate mit ANSI-C zu befassen, das ist schwer genug.
Noch eine Warnung: // funktioniert nur bei gcc und C++ Compilern! ANSI-C definiert nur diesen /*Kommentar*/.
Konrad