Maison > développement back-end > C++ > Quelle est la principale différence entre `%i` et `%d` dans les entrées/sorties formatées en C ?

Quelle est la principale différence entre `%i` et `%d` dans les entrées/sorties formatées en C ?

Mary-Kate Olsen
Libérer: 2024-11-28 15:23:10
original
824 Les gens l'ont consulté

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

Différence entre les spécificateurs de conversion %i et %d dans les fonctions IO formatées

Dans les fonctions IO formatées, telles que printf et scanf, les spécificateurs de conversion sont utilisés pour contrôler l’interprétation et le formatage des données d’entrée et de sortie. Parmi les différents spécificateurs, %i et %d sont fréquemment utilisés pour les entiers.

Sortie :

Lorsqu'ils sont utilisés pour la sortie (par exemple, avec printf), %i et %d se comporte de la même manière. Ils représentent tous deux une valeur entière et l'impriment dans le format par défaut en fonction des paramètres régionaux du système.

Entrée :

Cependant, la distinction entre %i et %d apparaît pendant les opérations de saisie (par exemple, avec scanf). Ici, leur comportement diffère :

  • %d : Scanne un entier sous forme de nombre décimal signé, représenté dans la notation arithmétique de base.
  • % i: Analyse principalement les entiers sous forme de nombres décimaux signés, mais il permet également les représentations hexadécimales et octales s'ils sont préfixés de manière appropriée. Les nombres hexadécimaux commencent par "0x" (par exemple "0x20"), tandis que les nombres octaux commencent par "0" (par exemple "025").

Par conséquent, dans le cas d'une saisie comme " 033", scanf("%d") l'interprète comme 33 (un nombre décimal signé), tandis que scanf("%i") l'interprète comme 27 (un nombre décimal signé). nombre octal), indiquant une différence de représentation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal