Heim > Artikel > Backend-Entwicklung > Was ist das Eingabeformatzeichen von Double?
Bei Verwendung der scanf-Anweisung ist das Eingabeformatzeichen für double „%lf“ und „%f“ kann nicht verwendet werden; bei Verwendung der printf-Anweisung können Sie „%f“ verwenden, das in printf nicht definiert ist. aber viele Systeme werden es akzeptieren. Daher wird empfohlen, bei Verwendung des Double-Typs die Eingabe „%lf“ zu verwenden, um Fehler zu vermeiden.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, C++17-Version, Dell G3-Computer.
(1) Der %f-Spezifizierer von printf kann sowohl Float- als auch Double-Typen ausgeben.
Gemäß der Regel „Standardparameter-Heraufstufung“ (in der variablen Parameterliste einer Funktion wie printf gilt diese Regel unabhängig davon, ob sich ein Prototyp im Bereich befindet) wird der Float-Typ zum Double-Typ heraufgestuft. printf() sieht also nur Doppelte.
(2) scanf muss %f für den Float-Typ und %lf für den Double-Typ verwenden. Bei scanf ist die Situation völlig anders. Es akzeptiert Zeiger und es gibt hier keine ähnliche Typförderung.
Das Speichern in Float (per Zeiger) unterscheidet sich deutlich vom Speichern in Double. Daher unterscheidet scanf zwischen %f und %lf.
(3) Tatsächlich ist %lf nicht in printf definiert, aber viele Systeme akzeptieren es möglicherweise. Um die Portabilität sicherzustellen, bleiben Sie bei %f.
Es wird empfohlen, bei Verwendung des Doppeltyps die Eingabe %lf und die Ausgabe %f zu verwenden, um Fehler zu vermeiden.
Empfohlenes Tutorial: „C#“
Das obige ist der detaillierte Inhalt vonWas ist das Eingabeformatzeichen von Double?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!