我正在查看以下代码:
#include <stdio.h>
#include <inttypes.h>
int main()
{
uint32_t total = 0;
printf("\tTotal: %"PRIu32"\n\n", total);
return total;
}
如何PRIu32
适合printf
句法?我的意思是,我大概能猜到,Iu32
可能意味着“无符号32位整数”。但是,我不确定在哪个表格中找到man 3 printf
将容纳引号外的变量——以及如何将其推广到引号外的其他语句。
It's a 格式宏常量 http://en.cppreference.com/w/c/types/integer#Format_macro_constants.
它们用于在不同平台上对值进行可移植格式化,其中原始数字类型的大小可能不同。
问题中的一个是以十进制格式打印无符号 32 位整数的格式。
这些宏之所以有效,是因为 C 连接连续的常量字符串文字。例如三个字符串"\tTotal: %" "u" "\n\n"
将被连接成单个字符串"\tTotal: %u\n\n"
由编译器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)