Cでunsigned long
データ型を印刷する方法を理解できません。
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
- unsigned long long 試したすべての組み合わせの中で、%ld
と%lu
だけが、有効なprintfフォーマット指定子です。 unsigned long型の変数には、%lu
(長い符号なし10進数)、%lx
または%lX
(小文字または大文字の長い16進数)、および%lo
(長い8進数)が唯一の有効なフォーマット指定子です。 %
とl
の間の修飾子など。
int %d
の場合
long int %ld
の場合
long long int %lld
の場合
unsigned long long int %llu
の場合
フォーマットは%lu
です。
Printf ここ で他のさまざまなデータ型とその使用法について確認してください。
int main()
{
unsigned long long d;
scanf("%llu",&d);
printf("%llu",d);
getch();
}
これは役に立ちます。 。 。
Unsigned longの正しい指定子は%lu
です。
あなたが期待している正確な値を得ていないなら、あなたのコードにはいくつかの問題があるかもしれません。
ここにあなたのコードをコピーしてください。それから多分誰かが問題が何であるかよりよくあなたに言うことができます。