重複の可能性:
printf の書式指定子 %i と %d の違い
この質問は、私が読んだすべての C コードでこの設定を確認するために使用したという事実に動機付けられています。
重複の可能性:
printf の書式指定子 %i と %d の違い
この質問は、私が読んだすべての C コードでこの設定を確認するために使用したという事実に動機付けられています。
%d and %i
printf ie int;signed 10 進表記では同じ意味ですが、scanf では同じです。
%d は 10 進整数、int *、%i は整数、int * 整数は 8 進数 (先行 0) または 16 進数 (先行 0x) です。
i
とd
変換指定子は では同等ですfprintf
が、 では異なりfscanf
ます。
i
とは両方ともd
、すべての C 標準 (C89、C90、C11) に存在します。
d
よりも一般的であるため、 fori
を使用することを好みます。d
fprintf
私が理解している限り、%d は base-10 を意味し (d は DECImal を表します)、i は base-flexible (修飾子を使用して 8 進数または 16 進数を示すことができます) です。したがって、それについて考えたくない場合は d を使用する必要があり、常に base-10 が必要です。