書式付き入出力関数 (printf / scanf) の書式指定子 %i と %d の違い
printf などのフォーマットされた I/O 関数scanf は変換指定子を利用して、入力または出力中にデータがどのように表現されるかを制御します。これらの指定子のうち、%i と %d は整数によく使用されます。
出力での使用法 (%i と %d)
次の形式指定子として使用される場合出力では、%i と %d の間に区別はありません。どちらも同じ結果を生成します。これらは 10 進形式の整数値を表します。
入力指定子
ただし、%i と %d を入力指定子として使用する場合 (scanf 内) に区別が現れます。 )。主な違いは次のとおりです。
%i: デフォルトの動作は %d (符号付き 10 進整数) と似ています。ただし、追加の機能があります。
実際の例
違いを説明するために、入力文字列 "033" を考えてみましょう。
要約すると、%i と %d は出力では同様に動作しますが、入力では動作が異なります。 %i は 16 進数と 8 進数の入力を許可することで拡張機能を提供しますが、%d は符号付き 10 進数の入力に厳密に制限されます。
以上がC の %i と %d: これらの形式指定子はどのような場合に異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。