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 :
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!