Programmieren - alles kontrollieren 4.939 Themen, 20.672 Beiträge

In C eine Zahl über 10 Stellen einlesen

Nobody666 / 4 Antworten / Flachansicht Nickles

Hallo, will in C eine Zahl über 10 Stellen einlesen,


habe probiert mit scanf("%f",&test);


printf("%f",test);


funktioniert aber leider nicht, er gibt mir immer was anderes aus wie eingegeben ist.


Danke

bei Antwort benachrichtigen
Andreas42 Nobody666 „In C eine Zahl über 10 Stellen einlesen“
Optionen

Hi!

Ich bin (wie gesagt) kein C/C++-Spezialist. Mag sein, dass es da was fertiges gibt - ich müsste auch erst nachschauen (das kannst du ja auch machen, es sollten Hinweise in der Doku zu finden sein).

Was ich dir geben kann, sind allgemeine Tipps, wie man solche Probleme löst. Naja, ein Handbuch zu Turbo-C++ 3.0 hab' ich auch. ;-)

Das Problem ist, dass deine Zahl nun nicht in einer Variable vom Typ Integer gespeichert werden kann. Und auf Integer beruht die Hexwandlung mit printf().
Es scheint auch eine Long-Version zu geben, ich kann das aber nicht testen: %10lX (dem X wird ein kleines L vorangestellt).

Falls printf() die Ausgabe eines Long-Wertes in Hexform nicht kann, musst du den Wert als Long einlesen und in zwei unsigned int-Werte aufspalten.

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen