小编典典

bool 的 printf 格式说明符是什么?

all

由于 ANSI C99 存在_Boolbool通过stdbool.h. 但是是否还有printfbool 的格式说明符?

我的意思是在那个伪代码中:

bool x = true;
printf("%B\n", x);

这将打印:

true

阅读 181

收藏
2022-03-07

共1个答案

小编典典

类型没有格式说明符bool。但是,由于任何小于在传递给可变参数时int提升为的整数类型,您可以使用:int``printf()``%d

bool x = true;
printf("%d\n", x); // prints 1

但为什么不:

printf(x ? "true" : "false");

或更好:

printf("%s", x ? "true" : "false");

或者,甚至更好:

fputs(x ? "true" : "false", stdout);
2022-03-07