我认为C+的答案是:std::size_t n = 1;std::cout << n;对于C风格的IO来说,这有点复杂。在C99中,他们添加了z长度修饰符size_t价值。但是,在TR1之前,不支持这一点,因此您需要进行特定大小的转换,如下所示:std::size_t n = 1;std::printf("%lu\n", static_cast<unsigned long>(n));再说一次,unsigned long long反正C+并不真正支持,所以上面的工作会很好,因为unsigned long是最大的法律整体类型。在TR1之后,您可以使用%zu安全地size_t价值。