[問題] printf 整數如何正確表示

看板C_and_CPP (C/C++)作者 (嘎嘎嘎嘎嘎)時間13年前 (2013/02/09 01:25), 編輯推噓0(005)
留言5則, 3人參與, 最新討論串1/1
請看以下程式 //定義 3 個 無號整數 a1, a2, a3 unsigned long long a1; uint32_t a2; uint64_t a3; //這樣是正常用法... ? printf("%llu", a1); 那 a2, a3 又要怎麼表達 (%lu, %llu, %lllu) ?? %llu 是不是無敵萬用解,管他任何的無號整數都可以用?? ----------------------------------------- 再問一個問題 uint32_t i; for(i = 99; i != (uint32_t)-1; --i){ //從 99 跑到 0 為止 ... } 我這樣寫是絕對正確的嗎? 程式拿到任何地方去編譯都對嗎? 如果不對要怎麼改? 改成下面的程式 我也覺得怪怪的.... for(i = 99; i >= 0 && i <= 99; --i){ //從 99 跑到 0 為止 ... } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.12.177

02/09 01:27, , 1F

02/09 01:27, , 2F
PRIu32 PRIu64 , 不過要注意 c99 才有送XD
02/09 01:27, 2F

02/09 01:36, , 3F
喔喔喔 謝謝 維基百科好詳細
02/09 01:36, 3F

02/09 01:39, , 4F
for(unsigned int i = 99U; i <= 99U; --i)
02/09 01:39, 4F

02/09 01:44, , 5F
ok 之後我就這樣寫
02/09 01:44, 5F
※ 編輯: xxxx9659 來自: 114.36.12.177 (02/09 01:45)
文章代碼(AID): #1H5JKGVn (C_and_CPP)
文章代碼(AID): #1H5JKGVn (C_and_CPP)