嘗試使用Printf uint64_t 時出現格式錯誤中的假尾隨「%」
在嘗試使用printf 列印uint64_t 變數時,您可能會嘗試使用printf 列印uint64_t 變數時,您可能會嘗試使用printf 列印uint64_t 變數遇到諸如“格式中虛假尾隨'%'”之類的錯誤。讓我們深入研究這個問題並探索解決方案。
提供的程式碼片段展示了使用 %" PRIu64 " 佔位符列印 uint64_t 變數的嘗試:
#include <inttypes.h> #include <stdio.h> int main() { uint64_t ui64 = 90; printf("test uint64_t : %" PRIu64 "\n", ui64); return 0; }
但是,編譯失敗與前面提到的錯誤訊息。要解決此問題,您需要確保定義了必要的巨集。 ISO C99 標準規定,僅在明確要求時才定義 PRIu64 巨集。
因此,請在包含
#define __STDC_FORMAT_MACROS
With新增此行後,PRIu64 巨集將被正確定義,並且您遇到的錯誤將得到解決。該巨集允許在 printf 格式字串中使用 PRIu64 佔位符,從而允許您成功列印 uint64_t 變數。
以上是為什麼印出 `uint64_t` 會導致「格式中虛假尾隨 '%'」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!