Cで「unsigned long」をprintfするにはどうすればよいですか?
-
13-09-2020 - |
質問
印刷の仕方が全く分かりません unsigned long
C のデータ型。
仮定する unsigned_foo
です unsigned long
, 、それから私は試します:
printf("%lu\n", unsigned_foo)
printf("%du\n", unsigned_foo)
printf("%ud\n", unsigned_foo)
printf("%ll\n", unsigned_foo)
printf("%ld\n", unsigned_foo)
printf("%dl\n", unsigned_foo)
そしてそれらはすべて何らかの種類のメッセージを印刷します -123123123
の代わりに数字 unsigned long
私が持っているもの。
解決
%lu
は、unsigned long
の正しい形式です。メモリ破損や初期化されていない変数など、ここでプレイ時に他の問題があるように聞こえます。おそらく私たちに大きな写真を見せていますか?
他のヒント
%lu
のために 符号なしロング%llu
のために 符号なし 長い長い
int
%d
long int %ld
LONG LONG int %lld
unsigned long long int %llu
いろいろ試した組み合わせの中から、 %ld
そして %lu
有効な printf 形式指定子はこれらだけです。 %lu
(長い符号なし 10 進数)、 %lx
または %lX
(小文字または大文字を含む長い 16 進数)、および %lo
(long 8 進数) は、unsigned long 型の変数の唯一の有効な形式指定子です (もちろん、フィールド幅、精度などの修飾子を変数の間に追加できます) %
そしてその l
).
int main()
{
unsigned long long d;
scanf("%llu",&d);
printf("%llu",d);
getch();
}
.
これは役に立ちます。。。
フォーマットは%lu
です。
他のさまざまなデータ型とその使用方法については、printf ここで
符号なしLongの正しい指定子は%lu
です。
あなたがあなたが期待している正確な価値を得ていないならば、あなたのコードにいくつかの問題があるかもしれません。
ここでコードをコピーしてください。それから、誰かが問題が何であるかをあなたにもっとよく言うことができます。
私は同じ問題を抱えていました。「%ul」を試してください、それは私のために働きます。
所属していません StackOverflow