403

unsigned longCでデータ型を出力する方法がわかりません。

であると仮定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ます。

4

7 に答える 7

590

%luの正しい形式ですunsigned long。ここでは、メモリの破損や初期化されていない変数など、他の問題が発生しているようです。おそらく私たちにもっと大きな絵を見せてくれませんか?

于 2010-07-09T04:50:19.387 に答える
45

intの場合 %d

longintの場合 %ld

longlongintの場合 %lld

unsigned longlongintの場合 %llu

于 2017-04-07T10:31:44.793 に答える
37
  • %luunsignedlongの場合
  • %lluunsignedlonglongの場合
于 2014-07-12T13:56:19.740 に答える
23

試したすべての組み合わせの中で、有効なprintf形式指定子であるのはこれだけです%ld。(long unsigned 10進数)、または(小文字または大文字の長い16進数)、および(long 8進数)は、unsigned long型の変数の唯一の有効な形式指定子です(もちろん、フィールド幅、精度などの修飾子をおよび)。%lu%lu%lx%lX%lo%l

于 2010-07-09T06:00:14.360 に答える
10
int main()
{
    unsigned long long d;
    scanf("%llu",&d);
    printf("%llu",d);
    getch();
}

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

于 2013-06-22T18:13:47.373 に答える
9

unsignedlongの正しい指定子はです%lu

期待する正確な値が得られない場合は、コードに問題がある可能性があります。

ここにコードをコピーしてください。そうすれば、誰かが問題が何であるかをもっとよく教えてくれるかもしれません。

于 2010-07-09T05:09:04.710 に答える
9

形式は%luです。

他のさまざまなデータ型とprintfでのそれらの使用法についてはこちらを確認してください

于 2010-07-09T06:08:13.523 に答える