ポスト

uint32_t val = -1; printf("warning %d\n", val); // -1 printf("warning %u\n", val); // 4294967295 printf("OK %d\n", (int)val); // -1 printf("OK %u\n", (int)val); // 4294967295 printf("OK %d\n", (unsigned)val); // -1 printf("OK %u\n", (unsigned)val); // 4294967295 intが正解でした!

メニューを開く

たなかまさゆき@tnkmasayuki

みんなのコメント

メニューを開く

そもそも uint32_t の変数 val に -1 を入れているので、 (非負整数の最大値をとるのに慣例的に良く行われるとはいえ) 本来は型がおかしいですし、その状態で printfで `-1` が出てほしいというのは、目的がよくわからないです。符号付きなら `int32_t` にすべきでは?

Kenta IDA@ciniml

人気ポスト

もっと見る
Yahoo!リアルタイム検索アプリ