web-dev-qa-db-ja.com

Cで "unsigned long"をprintfするにはどうすればいいですか?

Cでunsigned longデータ型を印刷する方法を理解できません。

unsigned_foounsigned 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番号を印刷します。

306
bodacydo

%luunsigned longの正しい形式です。メモリ破壊や初期化されていない変数など、他にも問題があるようです。おそらくもっと大きな写真を見せてください。

448
Thanatos
  • unsigned long %lu
  • %llu - unsigned long long
23
NealCaffery

試したすべての組み合わせの中で、%ld%luだけが、有効なprintfフォーマット指定子です。 unsigned long型の変数には、%lu(長い符号なし10進数)、%lxまたは%lX(小文字または大文字の長い16進数)、および%lo(長い8進数)が唯一の有効なフォーマット指定子です。 %lの間の修飾子など。

21
R..

int %dの場合

long int %ldの場合

long long int %lldの場合

unsigned long long int %lluの場合

20
Linkon

フォーマットは%luです。

Printf ここ で他のさまざまなデータ型とその使用法について確認してください。

9
Praveen S
int main()
{
    unsigned long long d;
    scanf("%llu",&d);
    printf("%llu",d);
    getch();
}

これは役に立ちます。 。 。

Unsigned longの正しい指定子は%luです。

あなたが期待している正確な値を得ていないなら、あなたのコードにはいくつかの問題があるかもしれません。

ここにあなたのコードをコピーしてください。それから多分誰かが問題が何であるかよりよくあなたに言うことができます。

8
Kumar Alok