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

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











C言語関数によって返される値の種類は何ですか?返品値を決定するものは何ですか?

STL(ソート、検索、変換など)のアルゴリズムを効率的に使用するにはどうすればよいですか?
