Heim > Backend-Entwicklung > C++ > Was ist der Hauptunterschied zwischen „%i' und „%d' in der formatierten Eingabe/Ausgabe von C?

Was ist der Hauptunterschied zwischen „%i' und „%d' in der formatierten Eingabe/Ausgabe von C?

Mary-Kate Olsen
Freigeben: 2024-11-28 15:23:10
Original
824 Leute haben es durchsucht

What's the Key Difference Between `%i` and `%d` in C's Formatted Input/Output?

Unterschied zwischen den Konvertierungsspezifizierern %i und %d in formatierten E/A-Funktionen

In formatierten E/A-Funktionen wie printf und scanf, Konvertierungsspezifizierern werden verwendet, um die Interpretation und Formatierung von Eingabe- und Ausgabedaten zu steuern. Unter den verschiedenen Spezifizierern werden %i und %d häufig für Ganzzahlen verwendet.

Ausgabe:

Bei Verwendung für die Ausgabe (z. B. mit printf) werden %i und %d verhalten sich identisch. Beide stellen einen ganzzahligen Wert dar und geben ihn im Standardformat basierend auf dem Systemgebietsschema aus.

Eingabe:

Es besteht jedoch ein Unterschied zwischen %i und %d bei Eingabeoperationen (z. B. mit scanf). Hier unterscheidet sich ihr Verhalten:

  • %d: Scannt eine Ganzzahl als vorzeichenbehaftete Dezimalzahl, dargestellt in der grundlegenden arithmetischen Notation.
  • % i: Scannt in erster Linie ganze Zahlen als vorzeichenbehaftete Dezimalzahlen, erlaubt aber auch hexadezimale und oktale Darstellungen, wenn dies der Fall ist werden entsprechend vorangestellt. Hexadezimale Zahlen beginnen mit „0x“ (z. B. „0x20“), während Oktalzahlen mit „0“ (z. B. „025“) beginnen.

Daher gilt bei einer Eingabe wie „ 033", scanf("%d") interpretiert es als 33 (eine vorzeichenbehaftete Dezimalzahl), während scanf("%i") es als 27 (eine) interpretiert Oktalzahl), was auf einen Unterschied in der Darstellung hinweist.

Das obige ist der detaillierte Inhalt vonWas ist der Hauptunterschied zwischen „%i' und „%d' in der formatierten Eingabe/Ausgabe von C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage