なぜ%dはIntegerの略なのですか?
2023-08-26 21:14:39
質問
生産的でないことは承知していますが、以下のフォーマットコードをすべて記憶する方法を探しています。
printf
を呼び出します。
%s
,
%p
,
%f
はすべて明白ですが、どこが
%d
はどこから来るのかがわからない。は
%i
はすでに他の何かによって取られていますか?
どのように解決するのですか?
"の略です。
10進数
10進数)であり、integer.quot.ではありません。
%x
で印刷します。
16進数
(16進数)で表示し
%o
で印刷する場合は
八進数
(ベース8)で表示します。整数はこれらの基数のいずれかになる可能性があります。
で
printf()
を使用することができます。
%i
の同義語として
%d
の代わりに "integer"を表示したい場合、quot;decimal,quot;の代わりに
%d
の方がより具体的であるため、一般的にはこちらが好まれます。
入力では
scanf()
の両方を使用することができます。
%i
と
%d
と同様に
%i
は、任意の基数(8進数、16進数、10進数、で示される)の整数として解析することを意味します。
0
または
0x
という接頭辞があります)、一方
%d
は10進の整数としてパースすることを意味します。
すべての動作例です。
#include <stdio.h>
int main() {
int out = 10;
int in[4];
printf("%d %i %x %o\n", out, out, out, out);
sscanf("010 010 010 010", "%d %i %x %o", &in[0], &in[1], &in[2], &in[3]);
printf("%d %d %d %d\n", in[0], in[1], in[2], in[3]);
sscanf("0x10 10 010", "%i %i %i", &in[0], &in[1], &in[2]);
printf("%d %d %d\n", in[0], in[1], in[2]);
return 0;
}
というわけで、この場合
%i
を使うべきで、入力のベースがプレフィックスに依存する場合は
%d
,
%x
または
%o
. 特に、先頭の
0
によって8進数モードになることは、あなたを追いつめることができます。
関連
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] 配列の場合、なぜ a[5] == 5[a] になるのでしょうか?
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] 整数の左側にゼロを埋め込むにはどうしたらいいですか?
-
[解決済み] printfは、フォーマット文字列の中に改行がないと、呼び出し後にフラッシュしないのはなぜですか?
-
[解決済み] プログラム終了前にmallocの後にfreeをしないと本当に何が起こるのか?
-
[解決済み] Visual Studio Codeでインデントを変更する方法は?
-
[解決済み] .aファイル、.soファイルとは何ですか?
-
[解決済み】Google Playアプリの説明文のフォーマットについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
解決済み] g++ コンパイルエラー: ')'トークンの前に一次式があることが予想される
-
#137: 式は変更可能なlvalueでなければならない問題 // 文字列配列の代入問題
-
[解決済み] JavaでのSystem.out.printfコマンドの問題点
-
未定義の `__isoc99_sscanf' への参照
-
警告:符号付き整数式と符号なし整数式の比較 [-Wsign-compare]
-
[解決済み] C で printf() を使って整数を表示するには %i または %d?
-
[解決済み] Valgrind が初期化されていないバイトについて警告する
-
[解決済み] Code::Blocks アプリケーションをコンパイルできない
-
[解決済み] なぜC言語では構造体を頻繁にtypedefする必要があるのですか?
-
[解決済み] なぜ16進数には0xがつくのですか?