web-dev-qa-db-ja.com

Cでprintfを使用して符号なしlong intを印刷するにはどうすればよいですか?

可能性のある複製:
Cで「unsigned long」をprintfする方法

私の電話番号は...

_int unsigned long number = 600851475143;
_

printf()で印刷しようとしています。試行するたびに、コンパイラから警告が表示されます。

_%uld_、_%ld_を試しましたが、Googlingは答えを見つけてくれなかったようです。

私はCを学んでいますが、以前に_long int_を使用する必要がなかったため、何を使用すべきかわかりません。

私が追いかけている指定子は何ですか?

16
alex

標準の順序(つまり、符号なしlong int)を使用することをお勧めします。 %luは探しているフォーマットタグです。

printf("%lu", 5ul);
33
eq-
int unsigned long number = 600851475143LU;
printf( "%lu", number );

600851475143

7
Kiril Kirov