Heim >Backend-Entwicklung >C++ >Was ist der Hauptunterschied zwischen den Formatspezifizierern „%i' und „%d' in „printf' und „scanf' von C?
Den Unterschied zwischen den Formatspezifizierern %i und %d verstehen
Bei Verwendung formatierter Eingabe-/Ausgabefunktionen wie printf und scanf spielen die Formatspezifizierer eine entscheidende Rolle bei der Steuerung der Art der zu druckenden Daten oder lesen. Unter diesen bedürfen die Spezifizierer %d (Ganzzahl) und %i (Ganzzahl) einer sorgfältigen Prüfung.
Verwendung in printf
Für Ausgabeoperationen gibt es keinen funktionalen Unterschied zwischen %d und %i. Beide geben eine vorzeichenbehaftete Dezimalzahl aus. Beispielsweise würde die Verwendung von %d oder %i mit dem Ganzzahlwert 100 zur Zeichenfolge „100“ führen.
Verwendung in scanf
Der Unterschied zwischen %d und %i werden in Eingabeoperationen deutlich. Während %d ausschließlich eine vorzeichenbehaftete Dezimalzahl durchsucht, unterstützt %i Dezimal-, Hexadezimal- und Oktalformate.
Um den Unterschied zu veranschaulichen, betrachten Sie das folgende Beispiel:
scanf("%i", &number);
Wenn der Benutzer „033“ eingibt , %i interpretiert es als Oktalzahl und weist der Variablen „Zahl“ den Wert 27 zu, während %d 33 zuweisen würde.
Das obige ist der detaillierte Inhalt vonWas ist der Hauptunterschied zwischen den Formatspezifizierern „%i' und „%d' in „printf' und „scanf' von C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!