使用 printf()
,我可以将 %hhu
用于 unsigned char
,将 %hi
用于 short int
,%zu
用于 size_t
,%tx
用于 ptrdiff_t
等.
我为 _Bool
使用什么转换格式说明符?标准中是否存在?
还是我必须这样投:
_Bool foo = 1;
printf("foo: %i\n", (int)foo);
最佳答案
_Bool
类型没有特定的转换长度修饰符。
_Bool
是一个无符号整数类型,大到足以存储值 0
和 1
。您可以这样打印 _Bool
:
_Bool b = 1;
printf("%d\n", b);
由于整数提升规则,_Bool
保证提升为 int
。
关于c - _Bool 的 printf 转换说明符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11250297/